summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2025-11-05 13:20:42 +0200
committerNataliia Solomko <natalirs1985@gmail.com>2025-11-12 13:48:44 +0200
commitccf4972f8dd9ddf370fe6376480c1244a138c4bd (patch)
treec572124fe48db464fb48c912e070c0f322f12908 /python
parent21d509d6c639f2a94c43c3af7f845ef0e544555f (diff)
downloadvyos-1x-ccf4972f8dd9ddf370fe6376480c1244a138c4bd.tar.gz
vyos-1x-ccf4972f8dd9ddf370fe6376480c1244a138c4bd.zip
T7731: Static ARP entries are missing after an interface status change
Diffstat (limited to 'python')
-rw-r--r--python/vyos/configdict.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py
index ea244247c..e1d05c384 100644
--- a/python/vyos/configdict.py
+++ b/python/vyos/configdict.py
@@ -613,6 +613,16 @@ def get_interface_dict(config, base, ifname='', recursive_defaults=True, with_pk
# Check vif, vif-s/vif-c VLAN interfaces for removal
dict = get_removed_vlans(config, base + [ifname], dict)
+
+ # Checks for the presence of static ARP entries on a given interface or VLAN
+ static_arp = config.get_config_dict(
+ ['protocols', 'static', 'arp', 'interface'],
+ key_mangling=('-', '_'),
+ get_first_key=True,
+ )
+ if any(key == ifname or key.startswith(f'{ifname}.') for key in static_arp.keys()):
+ dict.update({'static_arp': {}})
+
return ifname, dict
def get_vlan_ids(interface):