diff options
author | Christian Breunig <christian@breunig.cc> | 2024-12-11 20:14:45 +0100 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-12-16 22:24:50 +0100 |
commit | 55683a8406e17408021437cb35b57c48bd8b2ab1 (patch) | |
tree | bc149befb6ceadc94bf57503c65dd9267339edf0 /src/conf_mode/protocols_eigrp.py | |
parent | 779f311e7fe81e3c85de28f13e4e12e33b255483 (diff) | |
download | vyos-1x-55683a8406e17408021437cb35b57c48bd8b2ab1.tar.gz vyos-1x-55683a8406e17408021437cb35b57c48bd8b2ab1.zip |
configd: T6746: handle FRR config reload as last step in commit
Diffstat (limited to 'src/conf_mode/protocols_eigrp.py')
-rwxr-xr-x | src/conf_mode/protocols_eigrp.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/conf_mode/protocols_eigrp.py b/src/conf_mode/protocols_eigrp.py index 4f56d2b94..33812d350 100755 --- a/src/conf_mode/protocols_eigrp.py +++ b/src/conf_mode/protocols_eigrp.py @@ -26,23 +26,22 @@ from vyos import ConfigError from vyos import airbag airbag.enable() -vrf = None -if len(argv) > 1: - vrf = argv[1] - def get_config(config=None): if config: conf = config else: conf = Config() - return get_frrender_dict(conf) + return get_frrender_dict(conf, argv) def verify(config_dict): - global vrf - if not has_frr_protocol_in_dict(config_dict, 'eigrp', vrf): + if not has_frr_protocol_in_dict(config_dict, 'eigrp'): return None + vrf = None + if 'vrf_context' in config_dict: + vrf = config_dict['vrf_context'] + # eqivalent of the C foo ? 'a' : 'b' statement eigrp = vrf and config_dict['vrf']['name'][vrf]['protocols']['eigrp'] or config_dict['eigrp'] eigrp['policy'] = config_dict['policy'] @@ -50,16 +49,16 @@ def verify(config_dict): if 'system_as' not in eigrp: raise ConfigError('EIGRP system-as must be defined!') - if 'vrf' in eigrp: - verify_vrf(eigrp) + if vrf: + verify_vrf({'vrf': vrf}) def generate(config_dict): - if 'frrender_cls' not in config_dict: + if config_dict and 'frrender_cls' not in config_dict: FRRender().generate(config_dict) return None def apply(config_dict): - if 'frrender_cls' not in config_dict: + if config_dict and 'frrender_cls' not in config_dict: FRRender().apply() return None |