Summary
Add OSPFv3 support for point-to-multipoint and non-broadcast interface network types
Use case
The point-to-multipoint network type in OSPFv3 is handy when you want to configure hub-and-spoke topologies. It is commonly used in DMVPN networks.
Additional information
Version tested: VyOS 1.5-rolling-202503030030
The feature is already implemented for OSPFv2 but no equivalent configuration exists for OSPFv3.
vyos@LBS-RO1# set protocols ospf interface eth1 network Possible completions: broadcast Broadcast network type non-broadcast Non-broadcast network type point-to-multipoint Point-to-multipoint network type point-to-point Point-to-point network type
vyos@LBS-RO1# set protocols ospfv3 interface eth1 network Possible completions: broadcast Broadcast network type point-to-point Point-to-point network type
However, it is possible to configure it from FRR 10.2.1.
LBS-RO1(config-if)# ipv6 ospf6 network broadcast Specify OSPF6 broadcast network point-to-multipoint Specify OSPF6 point-to-multipoint network point-to-point Specify OSPF6 point-to-point network
The "disable-multicast-hello" should be equal to non-broadcast mode.
LBS-RO1(config-if)# ipv6 ospf6 p2p-p2mp config-neighbors-only Only form adjacencies with explicitly configured neighbors connected-prefixes Adjust handling of directly connected prefixes disable-multicast-hello Do not send multicast hellos
Commands suggested
You could use the OSPFv2 equivalents, or you could do it the way Cisco does it:
To enable OSPFv3 point-to-multipoint:
set protocols ospfv3 interface eth1 network point-to-multipoint
To enable OSPFv3 point-to-multipoint with non-broadcast (disables multicast helloes):
set protocols ospfv3 interface eth1 network point-to-multipoint non-broadcast
That command can trigger following FRR commands:
interface eth1 ipv6 ospf6 network point-to-multipoint ipv6 ospf6 p2p-p2mp disable-multicast-hello
When multicast is disabled, static neighbors has do be defined. Again this can only be configured directly from FRR:
interface eth1 ipv6 ospf6 neighbor fe80::1:1
A VyOS command to statically define OSPFv3 neighbors could be:
set protocols ospfv3 interface eth1 neighbor 'FE80::1:1'
Also, enabling the "config-neighbors-only" feature would also be practical in my environment:
set protocols ospfv3 interface eth1 static-neighbors-only