summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/vyatta-bridge.pl12
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/vyatta-bridge.pl b/scripts/vyatta-bridge.pl
index 4d02ed60..38ea24ab 100755
--- a/scripts/vyatta-bridge.pl
+++ b/scripts/vyatta-bridge.pl
@@ -48,10 +48,14 @@ die "Unknown interface type $ifname\n"
my $cfg = new Vyatta::Config;
# 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 {
+if ($intf->{vif} && !$intf->{vif_c}) {
+ my $vif_s_path = "interfaces $intf->{type} $intf->{dev} vif-s $intf->{vif}";
+ if ($cfg->exists($vif_s_path) or $cfg->existsOrig($vif_s_path)) {
+ $cfg->setLevel($vif_s_path);
+ } else {
+ $cfg->setLevel($intf->path());
+ }
+} else {
$cfg->setLevel($intf->path());
}