Dynamic IPv6 Routing with OSPF (FRR)

Overview

This guide explains how to set up dynamic IPv6 routing using FRR (Free Range Routing) with OSPFv3 (OSPF for IPv6). The setup ensures that traffic between nodes automatically uses the fastest available links (e.g. 10 Gbps), while still providing a fallback path over slower links (e.g. 2.5 Gbps).

If a link fails, OSPF dynamically recalculates routes and shifts traffic without manual intervention.

Example Topology
  • Nodes: 3 servers (node1, node2, node3)
  • Internal IPv6 addresses:
    • node1 → fd69:beef:cafe::111/128
    • node2 → fd69:beef:cafe::112/128
    • node3 → fd69:beef:cafe::113/128
  • Network links:
    • One 2.5 Gbps “fallback” network (e.g. vmbr0)
    • Two 10 Gbps point-to-point links between nodes (e.g. enp2s0f0np0 and enp2s0f1np1)
Step 1: Install FRR

On each node:

apt update
apt install frr -y

Enable the OSPFv3 daemon:

nano /etc/frr/daemons
ospf6d=yes
Step 2: Configure FRR for OSPF6

Edit /etc/frr/frr.conf on each node. Example (adjust for each host):

nano /etc/frr/frr.conf
log syslog informational
ipv6 forwarding

interface lo
    ipv6 address fd69:beef:cafe::111/128   # change per node
    ipv6 ospf6 area 0.0.0.0
    ipv6 ospf6 passive

interface vmbr0
    ipv6 ospf6 area 0.0.0.0
    ipv6 ospf6 network broadcast
    ipv6 ospf6 cost 100   # fallback link, higher cost

interface enp2s0f0np0
    ipv6 ospf6 area 0.0.0.0
    ipv6 ospf6 network point-to-point
    ipv6 ospf6 cost 10    # preferred link

interface enp2s0f1np1
    ipv6 ospf6 area 0.0.0.0
    ipv6 ospf6 network point-to-point
    ipv6 ospf6 cost 10    # preferred link

router ospf6
    ospf6 router-id 0.1.1.1   # unique per node (0.1.1.2, 0.1.1.3, etc.)
    redistribute connected
    auto-cost reference-bandwidth 100000

Assign each node its unique IPv6 address and router-id. Lower costs (10) are preferred routes, higher costs (100) are fallbacks. Adjust costs if you have different link speeds.

Step 3: Verify Connectivity
Test Bandwidth with iperf3

On one node (server):

iperf3 -s

On the others (clients):

iperf3 -c fd69:beef:cafe::111 -t 300
iperf3 -c fd69:beef:cafe::112 -t 300
iperf3 -c fd69:beef:cafe::113 -t 300

This confirms that traffic flows across all OSPF-routed links.

Monitor Live Traffic with nload

Install:

apt-get install nload

Run:

nload vmbr0 enp2s0f0np0 enp2s0f1np1

Use arrow keys to switch between interfaces.
You should see traffic primarily on the 10 Gbps links.

Remove tools when finished:

apt-get remove nload
apt-get remove iperf3

In

Leave a Reply

Your email address will not be published. Required fields are marked *