summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/vyatta-bridge.pl8
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/vyatta-bridge.pl b/scripts/vyatta-bridge.pl
index 7602c2ce..4d02ed60 100755
--- a/scripts/vyatta-bridge.pl
+++ b/scripts/vyatta-bridge.pl
@@ -47,7 +47,13 @@ die "Unknown interface type $ifname\n"
unless $intf;
my $cfg = new Vyatta::Config;
-$cfg->setLevel($intf->path());
+# Change path for QinQ S-VLAN
+my $vif_s_path = "interfaces $intf->{type} $intf->{dev} vif-s $intf->{vif}";
+if (!$intf->{vif_c} && ($cfg->exists($vif_s_path) or $cfg->existsOrig($vif_s_path))) {
+ $cfg->setLevel($vif_s_path);
+}else {
+ $cfg->setLevel($intf->path());
+}
my $oldbridge = $cfg->returnOrigValue('bridge-group bridge');
my $newbridge = $cfg->returnValue('bridge-group bridge');