From 2fa5d3928838e405a7aec55f92f2a1734b335d30 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Thu, 29 Apr 2021 13:17:58 +0200 Subject: [PATCH] zones: qinq: classic bridge: fix bridge zone name with multiple zones/vnets Signed-off-by: Alexandre Derumier --- PVE/Network/SDN/Zones/QinQPlugin.pm | 2 +- .../zones/qinq/bridge/expected_sdn_interfaces | 33 +++++++++++++++++-- test/zones/qinq/bridge/sdn_config | 7 +++- .../expected_sdn_interfaces | 6 ++-- .../expected_sdn_interfaces | 6 ++-- 5 files changed, 43 insertions(+), 11 deletions(-) diff --git a/PVE/Network/SDN/Zones/QinQPlugin.pm b/PVE/Network/SDN/Zones/QinQPlugin.pm index 1543fc1..c5016f5 100644 --- a/PVE/Network/SDN/Zones/QinQPlugin.pm +++ b/PVE/Network/SDN/Zones/QinQPlugin.pm @@ -132,7 +132,7 @@ sub generate_sdn_config { foreach my $bridge_iface (@bridge_ifaces) { # use named vlan interface to avoid too long names - my $svlan_iface = "sv_$vnetid"; + my $svlan_iface = "sv_$zoneid"; my $cvlan_iface = "cv_$vnetid"; #svlan diff --git a/test/zones/qinq/bridge/expected_sdn_interfaces b/test/zones/qinq/bridge/expected_sdn_interfaces index 73db5b3..91ef667 100644 --- a/test/zones/qinq/bridge/expected_sdn_interfaces +++ b/test/zones/qinq/bridge/expected_sdn_interfaces @@ -2,7 +2,17 @@ auto cv_myvnet iface cv_myvnet - vlan-raw-device sv_myvnet + vlan-raw-device sv_myzone + vlan-id 100 + +auto cv_myvnet2 +iface cv_myvnet2 + vlan-raw-device sv_myzone + vlan-id 101 + +auto cv_myvnet3 +iface cv_myvnet3 + vlan-raw-device sv_myzone2 vlan-id 100 auto myvnet @@ -11,7 +21,24 @@ iface myvnet bridge_stp off bridge_fd 0 -auto sv_myvnet -iface sv_myvnet +auto myvnet2 +iface myvnet2 + bridge_ports cv_myvnet2 + bridge_stp off + bridge_fd 0 + +auto myvnet3 +iface myvnet3 + bridge_ports cv_myvnet3 + bridge_stp off + bridge_fd 0 + +auto sv_myzone +iface sv_myzone vlan-raw-device eth0 vlan-id 10 + +auto sv_myzone2 +iface sv_myzone2 + vlan-raw-device eth0 + vlan-id 20 diff --git a/test/zones/qinq/bridge/sdn_config b/test/zones/qinq/bridge/sdn_config index 1708d4c..6321603 100644 --- a/test/zones/qinq/bridge/sdn_config +++ b/test/zones/qinq/bridge/sdn_config @@ -3,9 +3,14 @@ vnets => { ids => { myvnet => { tag => 100, type => "vnet", zone => "myzone" }, + myvnet2 => { tag => 101, type => "vnet", zone => "myzone" }, + myvnet3 => { tag => 100, type => "vnet", zone => "myzone2" }, }, }, zones => { - ids => { myzone => { bridge => "vmbr0", tag => 10, ipam => "pve", type => "qinq" } }, + ids => { + myzone => { bridge => "vmbr0", tag => 10, ipam => "pve", type => "qinq" }, + myzone2 => { bridge => "vmbr0", tag => 20, ipam => "pve", type => "qinq" }, + }, }, } diff --git a/test/zones/qinq/bridge_vlanawarevnet/expected_sdn_interfaces b/test/zones/qinq/bridge_vlanawarevnet/expected_sdn_interfaces index ab7572e..59265fd 100644 --- a/test/zones/qinq/bridge_vlanawarevnet/expected_sdn_interfaces +++ b/test/zones/qinq/bridge_vlanawarevnet/expected_sdn_interfaces @@ -2,7 +2,7 @@ auto cv_myvnet iface cv_myvnet - vlan-raw-device sv_myvnet + vlan-raw-device sv_myzone vlan-id 100 auto myvnet @@ -13,7 +13,7 @@ iface myvnet bridge-vlan-aware yes bridge-vids 2-4094 -auto sv_myvnet -iface sv_myvnet +auto sv_myzone +iface sv_myzone vlan-raw-device eth0 vlan-id 10 diff --git a/test/zones/qinq/bridge_vlanprotocol/expected_sdn_interfaces b/test/zones/qinq/bridge_vlanprotocol/expected_sdn_interfaces index 460f1a5..528ceaa 100644 --- a/test/zones/qinq/bridge_vlanprotocol/expected_sdn_interfaces +++ b/test/zones/qinq/bridge_vlanprotocol/expected_sdn_interfaces @@ -2,7 +2,7 @@ auto cv_myvnet iface cv_myvnet - vlan-raw-device sv_myvnet + vlan-raw-device sv_myzone vlan-id 100 auto myvnet @@ -11,8 +11,8 @@ iface myvnet bridge_stp off bridge_fd 0 -auto sv_myvnet -iface sv_myvnet +auto sv_myzone +iface sv_myzone vlan-raw-device eth0 vlan-id 10 vlan-protocol 802.1ad -- 2.39.2