diff options
author | erkin <e.altunbas@vyos.io> | 2021-12-16 17:31:57 +0300 |
---|---|---|
committer | erkin <e.altunbas@vyos.io> | 2021-12-16 17:31:57 +0300 |
commit | 95b91627a6065b720365c9ae7d124d85fc8e493d (patch) | |
tree | 1d743211400347d3847623fb0e17dd39dbfb604c /src/conf_mode/protocols_static.py | |
parent | dc8c230ad45a10be93fc2cd79c38ebb39fd0a148 (diff) | |
parent | 5a871f0dac024c7c0c59f1a1709543c4cc5e4f96 (diff) | |
download | vyos-1x-95b91627a6065b720365c9ae7d124d85fc8e493d.tar.gz vyos-1x-95b91627a6065b720365c9ae7d124d85fc8e493d.zip |
Merge branch 'current' of https://github.com/erkin/vyos-1x into current
Diffstat (limited to 'src/conf_mode/protocols_static.py')
-rwxr-xr-x | src/conf_mode/protocols_static.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/conf_mode/protocols_static.py b/src/conf_mode/protocols_static.py index f010141e9..c1e427b16 100755 --- a/src/conf_mode/protocols_static.py +++ b/src/conf_mode/protocols_static.py @@ -85,6 +85,8 @@ def verify(static): return None def generate(static): + if not static: + return None static['new_frr_config'] = render_to_string('frr/staticd.frr.tmpl', static) return None @@ -97,24 +99,21 @@ def apply(static): # The route-map used for the FIB (zebra) is part of the zebra daemon frr_cfg.load_configuration(zebra_daemon) - frr_cfg.modify_section(r'^ip protocol static route-map [-a-zA-Z0-9.]+$', '') + frr_cfg.modify_section(r'^ip protocol static route-map [-a-zA-Z0-9.]+', '') frr_cfg.commit_configuration(zebra_daemon) - frr_cfg.load_configuration(static_daemon) if 'vrf' in static: vrf = static['vrf'] - frr_cfg.modify_section(f'^vrf {vrf}$', '') + frr_cfg.modify_section(f'^vrf {vrf}', stop_pattern='^exit', remove_stop_mark=True) else: - frr_cfg.modify_section(r'^ip route .*', '') - frr_cfg.modify_section(r'^ipv6 route .*', '') + frr_cfg.modify_section(r'^ip route .*') + frr_cfg.modify_section(r'^ipv6 route .*') - frr_cfg.add_before(r'(interface .*|line vty)', static['new_frr_config']) + if 'new_frr_config' in static: + frr_cfg.add_before(frr.default_add_before, static['new_frr_config']) frr_cfg.commit_configuration(static_daemon) - # Save configuration to /run/frr/config/frr.conf - frr.save_configuration() - return None if __name__ == '__main__': |