diff options
Diffstat (limited to 'src/conf_mode/protocols_ospfv3.py')
-rwxr-xr-x | src/conf_mode/protocols_ospfv3.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/conf_mode/protocols_ospfv3.py b/src/conf_mode/protocols_ospfv3.py index d0460b830..c338c98b3 100755 --- a/src/conf_mode/protocols_ospfv3.py +++ b/src/conf_mode/protocols_ospfv3.py @@ -83,6 +83,16 @@ def verify(ospfv3): verify_common_route_maps(ospfv3) + if 'area' in ospfv3: + for area, area_config in ospfv3['area'].items(): + if 'area_type' in area_config: + if len(area_config['area_type']) > 1: + raise ConfigError(f'Can only configure one area-type for OSPFv3 area "{area}"!') + for area_type, area_type_config in area_config['area_type'].items(): + if {'default_information_originate', 'no_summary'} <= set(area_type_config): + raise ConfigError(f'Can either set "default-information-originate" '\ + f'or "no-summary", but not both!') + if 'interface' in ospfv3: for interface, interface_config in ospfv3['interface'].items(): if 'ifmtu' in interface_config: |