summaryrefslogtreecommitdiff
path: root/src/conf_mode/protocols_ospfv3.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-12-25 12:19:33 +0100
committerChristian Poessinger <christian@poessinger.com>2021-12-25 12:19:33 +0100
commit4abca54698edb09b76e7d059dd35cdcef3512ec4 (patch)
treeb7ed643cf492423078a69b065dcfc583e1390f4c /src/conf_mode/protocols_ospfv3.py
parent8449ee5f95ffbf1901202e04ee6e1216f54d8ff8 (diff)
downloadvyos-1x-4abca54698edb09b76e7d059dd35cdcef3512ec4.tar.gz
vyos-1x-4abca54698edb09b76e7d059dd35cdcef3512ec4.zip
ospfv3: T4102: add support for NSSA area-type
Diffstat (limited to 'src/conf_mode/protocols_ospfv3.py')
-rwxr-xr-xsrc/conf_mode/protocols_ospfv3.py10
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: