From: Alexandre Derumier Date: Thu, 20 Apr 2023 21:36:21 +0000 (+0200) Subject: fix #4683: zones: QinQ: fix vlan-protocol when bridge is VLAN aware X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=de4e2b9cf404af8423e08bc026e76d92e308109c;p=matthieu%2Fpve-network.git 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 Signed-off-by: Thomas Lamprecht --- 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