[pve-devel] [PATCH pve-manager 2/4] proxmox-network-interface-pinning: add fabrics support

Stefan Hanreich s.hanreich at proxmox.com
Thu Jul 17 17:28:39 CEST 2025


The fabric configuration references interfaces of nodes, which need to
be updated when pinning network interface names as well. Use the new
helper provided by perlmod for that.

Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---
 PVE/CLI/proxmox_network_interface_pinning.pm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/PVE/CLI/proxmox_network_interface_pinning.pm b/PVE/CLI/proxmox_network_interface_pinning.pm
index ea98ccb5e..b4c25154a 100644
--- a/PVE/CLI/proxmox_network_interface_pinning.pm
+++ b/PVE/CLI/proxmox_network_interface_pinning.pm
@@ -11,6 +11,7 @@ use PVE::INotify;
 use PVE::Network;
 use PVE::Network::SDN;
 use PVE::Network::SDN::Controllers;
+use PVE::Network::SDN::Fabrics;
 use PVE::RPCEnvironment;
 use PVE::SectionConfig;
 use PVE::Tools;
@@ -24,6 +25,22 @@ sub setup_environment {
     PVE::RPCEnvironment->setup_default_cli_env();
 }
 
+my sub update_sdn_fabrics {
+    my ($mapping) = @_;
+
+    print "Updating /etc/pve/sdn/fabrics.cfg\n";
+
+    my $code = sub {
+        my $local_node = PVE::INotify::nodename();
+
+        my $config = PVE::Network::SDN::Fabrics::config();
+        $config->map_interfaces($local_node, $mapping);
+        PVE::Network::SDN::Fabrics::write_config($config);
+    };
+
+    PVE::Network::SDN::lock_sdn_config($code);
+}
+
 my sub update_sdn_controllers {
     my ($mapping) = @_;
 
@@ -390,6 +407,7 @@ __PACKAGE__->register_method({
             update_host_fw_config($mapping);
             update_etc_network_interfaces($mapping, $existing_pins);
             update_sdn_controllers($mapping);
+            update_sdn_fabrics($mapping);
 
             print "Successfully updated Proxmox VE configuration files.\n";
             print "\nPlease reboot to apply the changes to your configuration\n\n";
-- 
2.39.5




More information about the pve-devel mailing list