[pve-devel] [PATCH pve-network 2/3] zones: add add|del_bridge_fdb to plugins

Alexandre Derumier aderumier at odiso.com
Tue Sep 26 09:39:41 CEST 2023


We want to be able to override it for some specific plugins.

Can be used by an sdn controller (like ovn for example), where
mac need to be registered manually.
---
 src/PVE/Network/SDN/Zones.pm        |  4 ++--
 src/PVE/Network/SDN/Zones/Plugin.pm | 12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/PVE/Network/SDN/Zones.pm b/src/PVE/Network/SDN/Zones.pm
index 1e678ed..4ad4e4d 100644
--- a/src/PVE/Network/SDN/Zones.pm
+++ b/src/PVE/Network/SDN/Zones.pm
@@ -336,7 +336,7 @@ sub add_bridge_fdb {
 
     my $plugin_config = get_plugin_config($vnet);
     my $plugin = PVE::Network::SDN::Zones::Plugin->lookup($plugin_config->{type});
-    PVE::Network::add_bridge_fdb($iface, $macaddr) if $plugin_config->{'bridge-disable-mac-learning'};
+    $plugin->add_bridge_fdb($plugin_config, $iface, $macaddr);
 }
 
 sub del_bridge_fdb {
@@ -350,7 +350,7 @@ sub del_bridge_fdb {
 
     my $plugin_config = get_plugin_config($vnet);
     my $plugin = PVE::Network::SDN::Zones::Plugin->lookup($plugin_config->{type});
-    PVE::Network::del_bridge_fdb($iface, $macaddr) if $plugin_config->{'bridge-disable-mac-learning'};
+    $plugin->del_bridge_fdb($plugin_config, $iface, $macaddr);
 }
 
 1;
diff --git a/src/PVE/Network/SDN/Zones/Plugin.pm b/src/PVE/Network/SDN/Zones/Plugin.pm
index f6634b6..b55b967 100644
--- a/src/PVE/Network/SDN/Zones/Plugin.pm
+++ b/src/PVE/Network/SDN/Zones/Plugin.pm
@@ -239,6 +239,18 @@ sub tap_plug {
     PVE::Network::tap_plug($iface, $vnetid, $tag, $firewall, $trunks, $rate, $opts);
 }
 
+sub add_bridge_fdb {
+    my ($class, $plugin_config, $iface, $macaddr) = @_;
+
+    PVE::Network::add_bridge_fdb($iface, $macaddr) if $plugin_config->{'bridge-disable-mac-learning'};
+}
+
+sub del_bridge_fdb {
+    my ($class, $plugin_config, $iface, $macaddr) = @_;
+
+    PVE::Network::del_bridge_fdb($iface, $macaddr) if $plugin_config->{'bridge-disable-mac-learning'};
+}
+
 #helper
 
 sub get_uplink_iface {
-- 
2.39.2





More information about the pve-devel mailing list