From f8e2d8acd8a036a041cf4b51891d21a3c809afb0 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 21 May 2020 17:23:29 +0200 Subject: macsec: T2023: stop wpa_supplicant on interface deletion --- src/conf_mode/interfaces-macsec.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/conf_mode/interfaces-macsec.py b/src/conf_mode/interfaces-macsec.py index ed88e877d..d251f6408 100755 --- a/src/conf_mode/interfaces-macsec.py +++ b/src/conf_mode/interfaces-macsec.py @@ -62,6 +62,11 @@ def get_config(): # Check if interface has been removed if not conf.exists(base_path): macsec['deleted'] = True + # When stopping wpa_supplicant we need to stop it via the physical + # interface - thus we need to retrieve ir from the effective config + if conf.exists_effective(base_path + ['source-interface']): + macsec['source_interface'] = conf.return_effective_value(base_path + ['source-interface']) + return macsec # set new configuration level @@ -164,7 +169,7 @@ def generate(macsec): def apply(macsec): # Remove macsec interface if macsec['deleted']: - call('systemctl stop wpa_supplicant-macsec@{intf}.service'.format(**macsec)) + call('systemctl stop wpa_supplicant-macsec@{source_interface}.service'.format(**macsec)) MACsecIf(macsec['intf']).remove() else: -- cgit v1.2.3