Page MenuHomeVyOS Platform

add IS-IS SRv6 configuration
Blocked, LowPublic

Description

Note: this depends on FRR commits: #458e8a8, #dcb03c. They do not yet appear to be part of any release.

Add options to configure SRv6 routing in IS-IS:

VyOS proposed:

protocols {
 isis {
  [...]
  segment-routing {
   srv6 {
     locator MAIN
     node-msd {            # optional MSD configuration
       max-end-d 40
       max-end-pop 10
       max-h-encaps 15
       max-segs-left 20
     }
     interface dum6      # optional see note below
   }
  }
 }
}

FRR:

router isis VyOS
 [...]
 segment-routing srv6
  locator MAIN
  node-msd
   max-end-d 40
   max-end-pop 10
   max-h-encaps 15
   max-segs-left 20
  exit
  interface dum6
 exit
exit

Note: this requires the addition of a dummy interface sr0 as explained by FRR (https://docs.frrouting.org/en/stable-10.2/isisd.html#clicmd-interface-NAME):

Specify the dummy interface used to install SRv6 SIDs in the Linux data plane. The interface must be created manually. By default, the interface is ‘sr0’. The interface can be created using the iproute2 utility:

ip link add sr0 type dummy
ip link set sr0 up

I create/delete this interface as part of the configuration validation if the user does not specify a specific dummy interface. Please let me know if this should be relocated elsewhere.

Addition verification show isis segment-routing srv6 node command for IS-IS SRv6 locators:

vyos@vyos:~$ show isis segment-routing srv6 node 
Area VyOS:
 IS-IS L1 SRv6-Nodes:

 System ID       Algorithm  SRH Max SL  SRH Max End Pop  SRH Max H.encaps  SRH Max End D  
 -----------------------------------------------------------------------------------------
 0000.0000.0001  S-SPF      3           3                2                 5              

 IS-IS L2 SRv6-Nodes:

 System ID       Algorithm  SRH Max SL  SRH Max End Pop  SRH Max H.encaps  SRH Max End D  
 -----------------------------------------------------------------------------------------
 0000.0000.0001  S-SPF      3           3                2                 5

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Feature (new functionality)

Event Timeline

jvoss changed the task status from Open to Blocked.
jvoss created this object in space S1 VyOS Public.

Relevant changes are here: https://github.com/jvoss/vyos-1x/tree/srv6_isis

I can keep this in my own branch in lieu of opening a draft PR that may persist for an unknown amount of time. Depends on FRR updating a release and VyOS using it.

jvoss updated the task description. (Show Details)

Both dependent FRR commits have made it to the 10.3 release. Waiting for VyOS to update and then I will create a PR.