Page MenuHomeDevCentral

FRRouting : installation and configuration
Needs ReviewPublic

Authored by yousra on Thu, Apr 23, 21:22.
Tags
None
Referenced Files
F28200151: D4093.id10741.diff
Sun, May 10, 13:30
F28200147: D4093.id10746.diff
Sun, May 10, 13:30
Unknown Object (File)
Thu, May 7, 09:25
Unknown Object (File)
Sat, May 2, 23:52
Unknown Object (File)
Sat, May 2, 18:20
Unknown Object (File)
Fri, May 1, 18:23
Unknown Object (File)
Fri, May 1, 03:23
Unknown Object (File)
Thu, Apr 30, 17:25

Details

Summary

FRRouting was initially installed only on routers (D4055), but it is also required on devservers (Ysul and Windriver) for OSPF to operate correctly and establish neighbor relationships.

To address this, the FRR installation logic has been moved to the core role so it can be reused across both routers and devservers, avoiding duplication of the installation process. However, the FRR configuration itself remains separated, as routers and devservers have different routing requirements. Dedicated configuration files and Salt states are therefore still maintained in:

roles/router/frrouting
roles/devserver/frrouting

while the shared installation logic is located in:

roles/core/frrouting

A pillar has also been added to define router IDs per host, allowing them
to be easily retrieved and avoiding hardcoding in State Salt.

pillar/core/frr.sls

Configuration OSPF added for route network Intranought:

The IntraNought network 172.27.27.0/27 is shared with Windriver and Ysul.

On routers, two GRE tunnels (gre1 (windriver) and gre2(ysul)) are established over this network
to provide direct point-to-point links between each router and the devservers.

On devservers, a single GRE interface (gre1) is used to connect to the routers.

OSPF is configured on gre1, gre2, and vmx0 on routers, and on gre1 on devservers.
However, OSPF neighbor relationships and route exchange only occur on gre1 and gre2,
as these interfaces are explicitly set as non-passive using
no ip ospf passive. The vmx0 interface remains passive.

Each host (router and devserver) has a unique OSPF router-id (RID) to ensure
proper neighbor relationships. Router IDs are not real IP addresses, but
arbitrary 32-bit values.

The OSPF cost for interface gre1 and gre2 is left to its default value (10)


Configuration OSPF added: for active router to share default route

A new script, set-ospf-default-route.sh, was added in roles/router/frrouting/files/ to automate the OSPF default route advertisement according to the CARP state of the routers.

When a router becomes CARP PRIMARY, the script configures FRRouting to advertise the default route through OSPF. This allows other nodes participating in the OSPF process, such as complector, to dynamically relearn the correct default gateway over the GRE tunnels.

As a result, traffic is automatically redirected to the active router after a failover, without requiring manual static route modifications. This ensures routing continuity and keeps the infrastructure synchronized with the CARP state.

OSPF configuration for IntraNought nodes, excluding routers, has been added to

roles/core/frrouting

So, the vmx0 interface on the routers is no longer configured as passive, because OSPF neighbor relationships must now be maintained with the IntraNought nodes in order to advertise and receive the default route dynamically.


Ref T2303

Test Plan
  • Apply on routers:

    salt 'router-003' state.apply roles/router/frrouting

    salt 'router-002' state.apply roles/router/frrouting
  • Apply on devservers:

    salt 'ysul' state.apply roles/devserver/frrouting

    salt 'windriver' state.apply roles/devserver/frrouting
  • Apply on others nodes :

    salt 'complector' state.apply roles/core/frrouting

    ....
  • Test if routing works good even with failover CARP

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Skipped
Unit
No Test Coverage
Branch
arcpatch-D4093_1
Build Status
Buildable 6697
Build 6985: arc lint + arc unit

Event Timeline

yousra requested review of this revision.Thu, Apr 23, 21:22
yousra created this revision.
yousra edited the test plan for this revision. (Show Details)
yousra edited the test plan for this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)

Many changes :

  • Added role separation between routers, devservers, and other nodes to ensure clean and maintainable frrouting configurations.
  • Centralized OSPF router-ids in pillar (frrouting:router_ids) for consistency across nodes.
  • Added a script set-ospf-default-route.sh to dynamically advertise or withdraw the default route based on CARP state (PRIMARY/BACKUP) for .
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)
yousra edited the summary of this revision. (Show Details)

Added file log for script set-ospf-default-route