summaryrefslogtreecommitdiff
path: root/src/system
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2026-08-20 09:24:38 -0500
committerGitHub <noreply@github.com>2026-08-20 09:24:38 -0500
commitb30ccbf4a5fdcc2240664d9b6d3814c90f7b1868 (patch)
treef893994eb0116893021d272705dd65231c11a186 /src/system
parent79e70fbfe0c4b5b33c5c707f0b0fee904fedd79f (diff)
parenta1360d645df8a82cd593d55ca592a8a1d60b34b3 (diff)
downloadvyos-1x-b30ccbf4a5fdcc2240664d9b6d3814c90f7b1868.tar.gz
vyos-1x-b30ccbf4a5fdcc2240664d9b6d3814c90f7b1868.zip
Merge pull request #5338 from ritika0313/T8329-azure-interface-naming-fix
T8329: Fix interface naming for Azure VF interfaces with Accelerated Networking enabled
Diffstat (limited to 'src/system')
-rwxr-xr-xsrc/system/vyos-net-name-resolve.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/system/vyos-net-name-resolve.py b/src/system/vyos-net-name-resolve.py
index ca8ce02ea..5b1f36533 100755
--- a/src/system/vyos-net-name-resolve.py
+++ b/src/system/vyos-net-name-resolve.py
@@ -178,6 +178,11 @@ def discover_physical_interfaces(sys_class_net: str = '/sys/class/net') -> dict:
"""Return {kernel_name: mac} for every interface backed by a real bus
device - excludes lo, bridges, bonds, VLANs, veth, tunnels, etc.
+ Also excludes interfaces enslaved to another netdev (master symlink
+ present), which covers Azure VF datapath interfaces bound under their
+ synthetic parent. Those are acceleration children, not independent
+ primary interfaces, and must not be candidates for hw-id naming.
+
sys_class_net is overridable for testing against a fake sysfs tree.
"""
interfaces = {}
@@ -187,6 +192,14 @@ def discover_physical_interfaces(sys_class_net: str = '/sys/class/net') -> dict:
for entry in net_dir.iterdir():
if not (entry / 'device').exists():
+ logger.debug(
+ f"skipping '{entry.name}': no backing device in sysfs"
+ )
+ continue
+ if (entry / 'master').exists():
+ logger.debug(
+ f"skipping '{entry.name}': interface is enslaved via master link"
+ )
continue
mac = get_permanent_mac(entry.name, sys_class_net)
if mac: