diff options
| author | Nataliia Solomko <natalirs1985@gmail.com> | 2025-11-05 13:20:42 +0200 |
|---|---|---|
| committer | Nataliia Solomko <natalirs1985@gmail.com> | 2025-11-12 13:48:44 +0200 |
| commit | ccf4972f8dd9ddf370fe6376480c1244a138c4bd (patch) | |
| tree | c572124fe48db464fb48c912e070c0f322f12908 /python | |
| parent | 21d509d6c639f2a94c43c3af7f845ef0e544555f (diff) | |
| download | vyos-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.py | 10 |
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): |
