summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces_macsec.py
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 /src/conf_mode/interfaces_macsec.py
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 '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