Make QinQ interfaces work again

(cherry picked from commit 1322ee2235)
This commit is contained in:
Chris Rowe 2016-04-24 23:55:28 +01:00 committed by Stephen Beaver
parent ab8c41067d
commit b8eb4e7f75
2 changed files with 12 additions and 12 deletions

View File

@ -318,17 +318,17 @@ function interface_qinq_configure(&$vlan, $fd = NULL) {
pfSense_ngctl_attach(".", $qinqif);
if (!empty($vlanif) && does_interface_exist($vlanif)) {
fwrite($fd, "shutdown {$qinqif}qinq:\n");
exec("/usr/sbin/ngctl msg {$qinqif}qinq: gettable", $result);
fwrite($fd, "shutdown {$vlanif}qinq:\n");
exec("/usr/sbin/ngctl msg {$vlanif}qinq: gettable", $result);
if (empty($result)) {
fwrite($fd, "mkpeer {$qinqif}: vlan lower downstream\n");
fwrite($fd, "name {$qinqif}:lower {$vlanif}qinq\n");
fwrite($fd, "connect {$qinqif}: {$vlanif}qinq: upper nomatch\n");
fwrite($fd, "mkpeer {$vlanif}: vlan lower downstream\n");
fwrite($fd, "name {$vlanif}:lower {$vlanif}qinq\n");
fwrite($fd, "connect {$vlanif}: {$vlanif}qinq: upper nomatch\n");
}
} else {
fwrite($fd, "mkpeer {$qinqif}: vlan lower downstream\n");
fwrite($fd, "name {$qinqif}:lower {$vlanif}qinq\n");
fwrite($fd, "connect {$qinqif}: {$vlanif}qinq: upper nomatch\n");
fwrite($fd, "mkpeer {$vlanif}: vlan lower downstream\n");
fwrite($fd, "name {$vlanif}:lower {$vlanif}qinq\n");
fwrite($fd, "connect {$vlanif}: {$vlanif}qinq: upper nomatch\n");
}
/* invalidate interface cache */

View File

@ -191,13 +191,13 @@ if (is_array($config['laggs']['lagg']) && count($config['laggs']['lagg'])) {
/* add QinQ interfaces */
if (is_array($config['qinqs']['qinqentry']) && count($config['qinqs']['qinqentry'])) {
foreach ($config['qinqs']['qinqentry'] as $qinq) {
$portlist["vlan{$qinq['tag']}"]['descr'] = "VLAN {$qinq['tag']}";
$portlist["vlan{$qinq['tag']}"]['isqinq'] = true;
$portlist["{$qinq['vlanif']}"]['descr'] = "VLAN {$qinq['tag']} on {$qinq['if']}";
$portlist["{$qinq['vlanif']}"]['isqinq'] = true;
/* QinQ members */
$qinqifs = explode(' ', $qinq['members']);
foreach ($qinqifs as $qinqif) {
$portlist["vlan{$qinq['tag']}_{$qinqif}"]['descr'] = "QinQ {$qinqif}";
$portlist["vlan{$qinq['tag']}_{$qinqif}"]['isqinq'] = true;
$portlist["{$qinq['vlanif']}_{$qinqif}"]['descr'] = "QinQ {$qinqif} on VLAN {$qinq['tag']} on {$qinq['if']}";
$portlist["{$qinq['vlanif']}_{$qinqif}"]['isqinq'] = true;
}
}
}