diff options
-rwxr-xr-x | scripts/vyatta-bridge.pl | 12 |
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()); } |