From 8cc48ca38346f262f8cfb3cce9b38da8f82d4527 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Fri, 12 Jun 2026 21:08:36 +0200 Subject: [PATCH] feat: include remote chassis MAC in LLDP neighbor entries Enables MAC-based topology matching against devices that report their own MAC but not a usable system name. --- napalm_linux/linux.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/napalm_linux/linux.py b/napalm_linux/linux.py index 14f5323..04143b4 100644 --- a/napalm_linux/linux.py +++ b/napalm_linux/linux.py @@ -257,10 +257,15 @@ class LinuxDriver(OSDriver): entries.setdefault(iface, {})[subkey] = value for iface, data in entries.items(): - neighbors.setdefault(iface, []).append({ + entry = { "hostname": data.get("chassis.name", ""), "port": data.get("port.ifname", data.get("port.id.value", "")), - }) + } + if data.get("chassis.id.subtype") == "mac": + mac = data.get("chassis.id.value", "") + if re.match(r"^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$", mac): + entry["mac"] = mac.lower() + neighbors.setdefault(iface, []).append(entry) return neighbors