This documentation is for an older version of the software. If you are using the current version of Cumulus Linux, this content may not be up to date. The current version of the documentation is available here. If you are redirected to the main page of the user guide, then this page may have been renamed; please search for it there.

Open Shortest Path First v3 - OSPFv3 - Protocol

OSPFv3 is a revised version of OSPFv2 to support the IPv6 address family. Refer to Open Shortest Path First (OSPF) Protocol for a discussion on the basic concepts, which remain the same between the two versions.

OSPFv3 has changed the formatting in some of the packets and LSAs either as a necessity to support IPv6 or to improve the protocol behavior based on OSPFv2 experience. Most notably, v3 defines a new LSA, called intra-area prefix LSA to separate out the advertisement of stub networks attached to a router from the router LSA. It is a clear separation of node topology from prefix reachability and lends itself well to an optimized SPF computation.

IETF has defined extensions to OSPFv3 to support multiple address families (that is, both IPv6 and IPv4). frr does not support it yet.

Configuring OSPFv3

Configuring OSPFv3 involves the following tasks:

  1. Enabling the zebra and ospf6 daemons, as described in Configuring FRRouting then start the FRRouting service:

     cumulus@switch:~$ sudo systemctl enable frr.service
     cumulus@switch:~$ sudo systemctl start frr.service
  2. Enabling OSPF6 and map interfaces to areas:

     cumulus@switch:~$ net add ospf6 router-id
     cumulus@switch:~$ net add ospf6 interface swp1 area
     cumulus@switch:~$ net add ospf6 interface swp2 area
  3. Defining (custom) OSPF6 parameters on the interfaces, such as:

    1. Network type (such as point-to-point, broadcast)

    2. Timer tuning (for example, hello interval)

      cumulus@switch:~$ net add interface swp1 ospf6 network point-to-point cumulus@switch:~$ net add interface swp1 ospf6 hello-interval 5

The OSPFv3 configuration is saved in /etc/frr/ospf6d.conf.

Unnumbered Interfaces

Unlike OSPFv2, OSPFv3 intrinsically supports unnumbered interfaces. Forwarding to the next hop router is done entirely using IPv6 link local addresses. Therefore, you are not required to configure any global IPv6 address to interfaces between routers.

Debugging OSPF

See Debugging OSPF for OSPFv2 for the troubleshooting discussion. The equivalent commands are:

cumulus@switch:~$ net show ospf6 neighbor [detail|drchoice]
cumulus@switch:~$ net show ospf6 database [adv-router|detail|dump|internal|linkstate-id|self-originated]
cumulus@switch:~$ net show route ospf6

Another helpful command is net show ospf6 spf tree. It dumps the node topology as computed by SPF to help visualize the network view.