summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Derumier <aderumier@odiso.com>2023-04-20 23:36:21 +0200
committerThomas Lamprecht <t.lamprecht@proxmox.com>2023-06-06 10:23:57 +0200
commitde4e2b9cf404af8423e08bc026e76d92e308109c (patch)
tree843c0b20336a3e2c5e9d3017a4ad66203cba3ae6
parent91b2f632c035ea4296717d9aa7ce1417d5fee8de (diff)
fix #4683: zones: QinQ: fix vlan-protocol when bridge is VLAN aware
The tagged bridge interface need to also have to correct vlan-protocol Signed-off-by: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
-rw-r--r--src/PVE/Network/SDN/Zones/QinQPlugin.pm8
-rw-r--r--src/test/zones/qinq/bridge_vlanaware_vlanprotocol/expected_sdn_interfaces4
2 files changed, 10 insertions, 2 deletions
diff --git a/src/PVE/Network/SDN/Zones/QinQPlugin.pm b/src/PVE/Network/SDN/Zones/QinQPlugin.pm
index f4d12bc..8b9de43 100644
--- a/src/PVE/Network/SDN/Zones/QinQPlugin.pm
+++ b/src/PVE/Network/SDN/Zones/QinQPlugin.pm
@@ -98,13 +98,17 @@ sub generate_sdn_config {
} elsif ($vlan_aware) {
# VLAN_aware_brige-(tag)----->vlanwarebridge-(tag)----->vnet
+ $zone_bridge_ports = "$bridge.$stag";
+
if ($vlanprotocol) {
@iface_config = ();
push @iface_config, "bridge-vlan-protocol $vlanprotocol";
push(@{$config->{$bridge}}, @iface_config) if !$config->{$bridge};
- }
- $zone_bridge_ports = "$bridge.$stag";
+ @iface_config = ();
+ push @iface_config, "vlan-protocol $vlanprotocol";
+ push(@{$config->{$zone_bridge_ports}}, @iface_config) if !$config->{$zone_bridge_ports};
+ }
} else {
# eth--->eth.x(svlan)----->vlanwarebridge-(tag)----->vnet---->vnet
diff --git a/src/test/zones/qinq/bridge_vlanaware_vlanprotocol/expected_sdn_interfaces b/src/test/zones/qinq/bridge_vlanaware_vlanprotocol/expected_sdn_interfaces
index 0bc301b..b24238f 100644
--- a/src/test/zones/qinq/bridge_vlanaware_vlanprotocol/expected_sdn_interfaces
+++ b/src/test/zones/qinq/bridge_vlanaware_vlanprotocol/expected_sdn_interfaces
@@ -20,6 +20,10 @@ auto vmbr0
iface vmbr0
bridge-vlan-protocol 802.1ad
+auto vmbr0.10
+iface vmbr0.10
+ vlan-protocol 802.1ad
+
auto z_myzone
iface z_myzone
bridge-stp off