summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDmitriyEshenko <dmitriy.eshenko@vyos.io>2020-04-20 17:11:33 +0000
committerDmitriyEshenko <dmitriy.eshenko@vyos.io>2020-04-20 17:11:33 +0000
commit1bb31edac899d17e8772096510d802fedc0743cc (patch)
tree498c6225dcbf0b357c664e941f8a8e7071fa06fc /scripts
parentd5dedfcfc40c9af6d26611c9c10321fc685d76e5 (diff)
downloadvyatta-cfg-system-1bb31edac899d17e8772096510d802fedc0743cc.tar.gz
vyatta-cfg-system-1bb31edac899d17e8772096510d802fedc0743cc.zip
bridge: T2342: Add check if this is not vif interface
Diffstat (limited to 'scripts')
-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());
}