Page MenuHomeDevCentral

Installation and configuration of FRRouting
Open, NormalPublic

Description

Based on the T2298 (Quagga), this task aims to migrate to FRRouting.

FRRouting will replace Quagga as the routing suite to manage dynamic routing (OSPF).

Since FRRouting does not natively integrate with CARP, a mechanism will be implemented to adjust OSPF interface costs based on the CARP state:

  • ACTIVE: normal cost (preferred path)
  • BACKUP: higher cost (avoid routing through it)

This ensures that traffic always flows through the ACTIVE router.


Steps :

  • 1. Install FRRouting on router-002 and router-003 D4055
  • 2. Activate the service D4055
  • 3. Create the FRR configuration with OSPF added D4068
  • 4. Implement a script to dynamically adjust OSPF cost based on CARP state:
    • ACTIVE: low cost (preferred path)
    • BACKUP: high cost

So basicly :

Each router sets a different cost based on its CARP state, with the ACTIVE using a lower cost and the BACKUP a higher one.
This allows remote machines to automatically select the GRE tunnel connected to the active router.

  • 5. Link the script to CARP events using devd
  • 6. Test failover:
    • Simulate CARP state change
    • Verify OSPF cost is updated
    • Ensure traffic for 172.27.27.0/27 switches to the new ACTIVE router

References :

https://en.wikipedia.org/wiki/FRRouting
https://docs.opnsense.org/manual/dynamic_routing.html
https://docs.frrouting.org/en/latest/ospfd.html
https://docs.frrouting.org/en/latest/vtysh.html
https://man.freebsd.org/cgi/man.cgi?query=vtysh&sektion=1&manpath=freebsd-ports
https://community.cisco.com/t5/networking-knowledge-base/understanding-passive-interface-default-command-in-ospf/ta-p/3120648

Event Timeline

yousra triaged this task as Normal priority.Thu, Apr 9, 08:38
yousra created this task.
yousra updated the task description. (Show Details)
yousra updated the task description. (Show Details)
yousra updated the task description. (Show Details)

command : sudo vtysh

router-002# show ip ospf route
============ OSPF network routing table ============
N    172.27.27.0/27        [10] area: 0.0.0.0
                           directly attached to vmx0

============ OSPF router routing table =============

============ OSPF external routing table ===========


router-002#
router-002# show ip ospf interface 
gre1 is up
  ifindex 4, MTU 1476 bytes, BW 0 Mbit <UP,POINTOPOINT,RUNNING,MULTICAST>
  This interface is UNNUMBERED, Area 0.0.0.0
  MTU mismatch detection: enabled
  Router ID 2.2.2.2, Network Type POINTOPOINT, Cost: 10
  Transmit Delay is 1 sec, State Point-To-Point, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 3.335s
  Neighbor Count is 0, Adjacent neighbor count is 0
  Graceful Restart hello delay: 10s
  LSA retransmissions: 0
vmx0 is up
  ifindex 1, MTU 1500 bytes, BW 10000 Mbit <UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
  Internet Address 172.27.27.11/27, Broadcast 172.27.27.31, Area 0.0.0.0
  MTU mismatch detection: enabled
  Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 2.2.2.2 Interface Address 172.27.27.11/27
  No backup designated router on this network
  Multicast group memberships: <None>
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    No Hellos (Passive interface)
  Neighbor Count is 0, Adjacent neighbor count is 0
  Graceful Restart hello delay: 10s
  LSA retransmissions: 0

The vtysh command-line tool is used to interact with FRRouting and display routing information.

The OSPF routing table shows the IntraNought network (172.27.27.0/27), which will be shared with Windriver.

The OSPF interface configuration shows that OSPF is enabled on both vmx0 and gre1.