[pve-devel] [PATCH common] vlan fixups: remove existing vlan ids

Wolfgang Bumiller w.bumiller at proxmox.com
Mon Jun 20 15:32:18 CEST 2016


bridge_add_interface should remove the existing vids from
the interface (which is usually 1, which was previously left
on the interface)
---
 src/PVE/Network.pm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/PVE/Network.pm b/src/PVE/Network.pm
index 93afcf8..b760c42 100644
--- a/src/PVE/Network.pm
+++ b/src/PVE/Network.pm
@@ -181,8 +181,10 @@ my $bridge_add_interface = sub {
 
    if ($vlan_aware) {
 	if ($tag) {
-	    system("/sbin/bridge vlan add dev $iface vid $tag pvid untagged") == 0 ||
-	    die "unable to add vlan $tag to interface $iface\n";
+	    system({'/sbin/bridge'} 'bridge', 'vlan', 'del', 'dev', $iface, 'vid', '1-4094') == 0
+		or die "failed to remove default vlan tags of $iface\n";
+	    system({'/sbin/bridge'} 'bridge', 'vlan', 'add', 'dev', $iface, 'vid', $tag, 'pvid', 'untagged') == 0
+		or die "unable to add vlan $tag to interface $iface\n";
 
 	    warn "Caution: Setting VLAN ID 1 on a VLAN aware bridge may be dangerous\n" if $tag == 1;
 	} else {
-- 
2.1.4




More information about the pve-devel mailing list