From: Alexandre Derumier Date: Wed, 24 Aug 2022 16:26:41 +0000 (+0200) Subject: net : add support for bridge disable mac learning X-Git-Url: https://git.proxmox.com/?p=pve-container.git;a=commitdiff_plain;h=26a5347c23f14a311ccbeb2a44cebef527a7ba74 net : add support for bridge disable mac learning Signed-off-by: Alexandre Derumier [ T: adapt to iface learning-disable being now auto-detected ] Signed-off-by: Thomas Lamprecht --- diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index 0d0141d..4bbd739 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -948,8 +948,10 @@ sub update_net { if ($have_sdn) { PVE::Network::SDN::Zones::tap_plug($veth, $newnet->{bridge}, $newnet->{tag}, $newnet->{firewall}, $newnet->{trunks}, $newnet->{rate}); + PVE::Network::SDN::Zones::add_bridge_fdb($veth, $newnet->{hwaddr}, $newnet->{bridge}, $newnet->{firewall}); } else { PVE::Network::tap_plug($veth, $newnet->{bridge}, $newnet->{tag}, $newnet->{firewall}, $newnet->{trunks}, $newnet->{rate}); + PVE::Network::add_bridge_fdb($veth, $newnet->{hwaddr}, $newnet->{firewall}); # early returns if brport has learning on } # This includes the rate: @@ -982,9 +984,11 @@ sub hotplug_net { if ($have_sdn) { PVE::Network::SDN::Zones::veth_create($veth, $vethpeer, $newnet->{bridge}, $newnet->{hwaddr}); PVE::Network::SDN::Zones::tap_plug($veth, $newnet->{bridge}, $newnet->{tag}, $newnet->{firewall}, $newnet->{trunks}, $newnet->{rate}); + PVE::Network::SDN::Zones::add_bridge_fdb($veth, $newnet->{hwaddr}, $newnet->{bridge}, $newnet->{firewall}); } else { PVE::Network::veth_create($veth, $vethpeer, $newnet->{bridge}, $newnet->{hwaddr}); PVE::Network::tap_plug($veth, $newnet->{bridge}, $newnet->{tag}, $newnet->{firewall}, $newnet->{trunks}, $newnet->{rate}); + PVE::Network::add_bridge_fdb($veth, $newnet->{hwaddr}, $newnet->{firewall}); # early returns if brport has learning on } # attach peer in container diff --git a/src/lxcnetaddbr b/src/lxcnetaddbr index 8bd9d22..80fcb27 100755 --- a/src/lxcnetaddbr +++ b/src/lxcnetaddbr @@ -63,8 +63,10 @@ if (-d "/sys/class/net/$iface") { if ($have_sdn) { PVE::Network::SDN::Zones::tap_plug($iface, $net->{bridge}, $tag, $firewall, $trunks, $rate); + PVE::Network::SDN::Zones::add_bridge_fdb($iface, $net->{hwaddr}, $net->{bridge}, $net->{firewall}); } else { PVE::Network::tap_plug($iface, $bridge, $tag, $firewall, $trunks, $rate); + PVE::Network::add_bridge_fdb($iface, $net->{hwaddr}, $net->{firewall}); # early returns if brport has learning on } }