diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-08-15 12:53:03 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-08-15 12:53:03 +0200 |
commit | 6f87d8c910964fd0ebe9724183baa12861caa419 (patch) | |
tree | bb5ed11798a267b5a143892418db30533a6cf38a /src/conf_mode/protocols_ospf.py | |
parent | 2faceb16bc56f969eda2d1678a98f61fb1f4c23d (diff) | |
download | vyos-1x-6f87d8c910964fd0ebe9724183baa12861caa419.tar.gz vyos-1x-6f87d8c910964fd0ebe9724183baa12861caa419.zip |
ospf: T3757: support to configure area at an interface level
FRR supports configuring either network prefixes per area, or assign an
interface to an area to participate in the routing process. This is already well
known from other venders and supported by FRR.
A valid VyOS OSPF configuration would then look like:
vyos@vyos# show protocols
ospf {
interface dum0 {
area 0
}
interface eth0.201 {
area 0
authentication {
md5 {
key-id 10 {
md5-key vyos
}
}
}
dead-interval 40
hello-interval 10
priority 1
retransmit-interval 5
transmit-delay 1
}
log-adjacency-changes {
detail
}
parameters {
abr-type cisco
router-id 172.18.254.201
}
passive-interface default
passive-interface-exclude eth0.201
}
Diffstat (limited to 'src/conf_mode/protocols_ospf.py')
-rwxr-xr-x | src/conf_mode/protocols_ospf.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/conf_mode/protocols_ospf.py b/src/conf_mode/protocols_ospf.py index 82126cb11..a21ea6c9f 100755 --- a/src/conf_mode/protocols_ospf.py +++ b/src/conf_mode/protocols_ospf.py @@ -157,6 +157,15 @@ def verify(ospf): raise ConfigError(f'Can not use hello-multiplier and dead-interval ' \ f'concurrently for {interface}!') + # One can not use the "network <prefix> area <id>" command and an + # per interface area assignment at the same time. FRR will error + # out using: "Please remove all network commands first." + if 'area' in ospf: + for area, area_config in ospf['area'].items(): + if 'network' in area_config: + raise ConfigError('Can not use OSPF interface area and area ' \ + 'network configuration at the same time!') + if 'vrf' in ospf: # If interface specific options are set, we must ensure that the # interface is bound to our requesting VRF. Due to the VyOS |