diff options
author | sever-sever <v.gletenko@vyos.io> | 2020-10-27 16:55:08 +0000 |
---|---|---|
committer | sever-sever <v.gletenko@vyos.io> | 2020-10-27 16:55:08 +0000 |
commit | 50970e1e66c263b78cb9ce090d4883893e91beff (patch) | |
tree | 34e725433ae02ba2c0c56d9b8f6a68af603ba036 /src | |
parent | 6b9acd904d05460d2f02850e2535c4dc3e9933af (diff) | |
download | vyos-1x-50970e1e66c263b78cb9ce090d4883893e91beff.tar.gz vyos-1x-50970e1e66c263b78cb9ce090d4883893e91beff.zip |
bgp: T2387: Fix XML sheme for new bgp and bgp.py handler
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/protocols_bgp.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py index 1978adff5..957f72ed5 100755 --- a/src/conf_mode/protocols_bgp.py +++ b/src/conf_mode/protocols_bgp.py @@ -33,7 +33,7 @@ def get_config(): base = ['protocols', 'nbgp'] bgp = conf.get_config_dict(base, key_mangling=('-', '_')) if not conf.exists(base): - return None + bgp = {} from pprint import pprint pprint(bgp) @@ -44,10 +44,16 @@ def verify(bgp): if not bgp: return None + # Check if declared more than one ASN + for asn in bgp['nbgp'].items(): + if len(bgp['nbgp']) > 1: + raise ConfigError('Only one bgp ASN process can be definded') + return None def generate(bgp): if not bgp: + bgp['new_frr_config'] = '' return None # render(config) not needed, its only for debug @@ -58,9 +64,6 @@ def generate(bgp): return None def apply(bgp): - if bgp is None: - return None - # Save original configration prior to starting any commit actions bgp['original_config'] = frr.get_configuration(daemon='bgpd') bgp['modified_config'] = frr.replace_section(bgp['original_config'], bgp['new_frr_config'], from_re='router bgp .*') |