diff options
Diffstat (limited to 'src/conf_mode/interfaces_pppoe.py')
| -rwxr-xr-x | src/conf_mode/interfaces_pppoe.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces_pppoe.py b/src/conf_mode/interfaces_pppoe.py index 1a405e6b6..610811ceb 100755 --- a/src/conf_mode/interfaces_pppoe.py +++ b/src/conf_mode/interfaces_pppoe.py @@ -21,6 +21,9 @@ from sys import exit from vyos.config import Config from vyos.configdict import get_interface_dict from vyos.configdict import is_node_changed +from vyos.configdict import is_vrf_changed +from vyos.configdep import set_dependents +from vyos.configdep import call_dependents from vyos.configverify import verify_authentication from vyos.configverify import verify_source_interface from vyos.configverify import verify_vrf @@ -72,6 +75,10 @@ def get_config(config=None): if 'mru' not in pppoe: pppoe['mru'] = pppoe['mtu'] + # Check vrf membership, to ensure firewall is updated + if is_vrf_changed(conf, ifname): + set_dependents('firewall', conf) + return pppoe def verify(pppoe): @@ -119,6 +126,9 @@ def apply(pppoe): p = PPPoEIf(ifname) p.remove() call(f'systemctl stop ppp@{ifname}.service') + + # run the dependents and return + call_dependents() return None # reconnect should only be necessary when certain config options change, @@ -140,6 +150,9 @@ def apply(pppoe): p = PPPoEIf(ifname) p.update(pppoe) + # run the dependents + call_dependents() + return None if __name__ == '__main__': |
