[pve-devel] [PATCH pve-manager v2 11/16] proxmox-network-interface-pinning: fix pinning after reboot

Stefan Hanreich s.hanreich at proxmox.com
Fri Jul 18 18:26:33 CEST 2025


We generate a list of existing pins as a reference throughout the
pinning tool. It works by reading the existing link files and looking
up interfaces with the corresponding MAC address. If pins have already
been applied, this would return a mapping of the pinned name to itself
(nic0 => nic0).

We use this list for filtering what we write to the pending
configuration, in order to avoid re-introducing already pinned names
to the pending configuration. This reflexive entry would cause the
interfaces file generation to filter all pinned network interfaces
after reboot, leading to invalid ifupdown2 configuration files. Fix
this by filtering entries in the existing-pins list who are reflexive.

Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
Link: https://lore.proxmox.com/20250717152841.397830-7-s.hanreich@proxmox.com
---
 PVE/CLI/proxmox_network_interface_pinning.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/PVE/CLI/proxmox_network_interface_pinning.pm b/PVE/CLI/proxmox_network_interface_pinning.pm
index b45cc973a..9dbf91e73 100644
--- a/PVE/CLI/proxmox_network_interface_pinning.pm
+++ b/PVE/CLI/proxmox_network_interface_pinning.pm
@@ -311,7 +311,8 @@ sub resolve_pinned {
             next;
         }
 
-        $resolved->{ $mac_lookup{$mac} } = $pinned->{$mac};
+        $resolved->{ $mac_lookup{$mac} } = $pinned->{$mac}
+            if $mac_lookup{$mac} ne $pinned->{$mac};
     }
 
     return $resolved;
-- 
2.39.5




More information about the pve-devel mailing list