]> git.proxmox.com Git - pve-container.git/commitdiff
net : add support for bridge disable mac learning
authorAlexandre Derumier <aderumier@odiso.com>
Wed, 24 Aug 2022 16:26:41 +0000 (18:26 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sun, 13 Nov 2022 14:05:13 +0000 (15:05 +0100)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
 [ T: adapt to iface learning-disable being now auto-detected ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/LXC.pm
src/lxcnetaddbr

index 0d0141dc483ee1ba430e410bc6fdbe1267bbfc9a..4bbd739e248ebe6f598077d5d62bb06db8c4e0d0 100644 (file)
@@ -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
index 8bd9d227bcfaab2b839a4ee12cf4129e284e8c74..80fcb27cbd16fc90cbc7609832c0aa2c8f0edc0f 100755 (executable)
@@ -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
     }
 }