summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorNataliia S. <81954790+natali-rs1985@users.noreply.github.com>2025-11-13 16:46:19 +0200
committerGitHub <noreply@github.com>2025-11-13 16:46:19 +0200
commit23e61833f4ac2a0dce040520c1324bab8c025209 (patch)
treec89d6f2d0e86740379f2be7dd122d42d8f83896d /python
parent99274f653d9973d83e56b158305d359ae2b74826 (diff)
parentccf4972f8dd9ddf370fe6376480c1244a138c4bd (diff)
downloadvyos-1x-23e61833f4ac2a0dce040520c1324bab8c025209.tar.gz
vyos-1x-23e61833f4ac2a0dce040520c1324bab8c025209.zip
Merge pull request #4835 from natali-rs1985/T7731
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):