summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces_macsec.py
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 /src/conf_mode/interfaces_macsec.py
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 'src/conf_mode/interfaces_macsec.py')
-rwxr-xr-xsrc/conf_mode/interfaces_macsec.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces_macsec.py b/src/conf_mode/interfaces_macsec.py
index 683e12ec3..38823e7e6 100755
--- a/src/conf_mode/interfaces_macsec.py
+++ b/src/conf_mode/interfaces_macsec.py
@@ -19,6 +19,8 @@ import os
from sys import exit
from vyos.config import Config
+from vyos.configdep import set_dependents
+from vyos.configdep import call_dependents
from vyos.configdict import get_interface_dict
from vyos.configdict import is_node_changed
from vyos.configdict import is_source_interface
@@ -78,6 +80,10 @@ def get_config(config=None):
tmp = is_source_interface(conf, macsec['source_interface'], ['macsec', 'pseudo-ethernet'])
if tmp and tmp != ifname: macsec.update({'is_source_interface' : tmp})
+ # Protocols static arp dependency
+ if 'static_arp' in macsec:
+ set_dependents('static_arp', conf)
+
return macsec
@@ -193,6 +199,9 @@ def apply(macsec):
if not is_systemd_service_running(systemd_service) or 'shutdown_required' in macsec:
call(f'systemctl reload-or-restart {systemd_service}')
+ if 'static_arp' in macsec:
+ call_dependents()
+
return None