Configuration excerpt:
policy { route-map CL_OSPF_IN { rule 10 { action deny match { ip { address { prefix-len 0 } } } } rule 20 { action permit } } route-map CL_OSPF_IN6 { rule 10 { action deny match { ipv6 { address { prefix-len 0 } } } } rule 20 { action permit } } } protocols { ospf { interface eth0 { area 0 } log-adjacency-changes { } parameters { router-id 1.2.3.4 } redistribute { static { } } route-map CL_OSPF_IN } ospfv3 { interface eth0 { area 0 } log-adjacency-changes { } parameters { router-id 1.2.3.4 } redistribute { static { } } route-map CL_OSPF_IN6 }
The resulting /etc/frr/frr.conf includes:
route-map CL_OSPF_IN6 deny 10 match ipv6 address prefix-len 0 exit ! route-map CL_OSPF_IN6 permit 20 exit ! route-map CL_OSPF_IN deny 10 match ip address prefix-len 0 exit ! route-map CL_OSPF_IN permit 20 exit ! ip protocol ospf route-map CL_OSPF_IN
but no equivalent of the last line for ospf6. I think the code to apply route maps is simply absent from /usr/libexec/vyos/conf_mode/protocols_ospfv3.py:
[email protected]:/usr/libexec/vyos/conf_mode# grep frr_cfg.modify_section protocols_ospf.py frr_cfg.modify_section('(\s+)?ip protocol ospf route-map [-a-zA-Z0-9.]+', stop_pattern='(\s|!)') frr_cfg.modify_section(f'^router ospf{vrf}', stop_pattern='^exit', remove_stop_mark=True) frr_cfg.modify_section(f'^interface {interface}{vrf}', stop_pattern='^exit', remove_stop_mark=True) [email protected]:/usr/libexec/vyos/conf_mode# grep frr_cfg.modify_section protocols_ospfv3.py frr_cfg.modify_section(f'^router ospf6{vrf}', stop_pattern='^exit', remove_stop_mark=True) frr_cfg.modify_section(f'^interface {interface}{vrf}', stop_pattern='^exit', remove_stop_mark=True)