Page MenuHomeVyOS Platform

ISIS and OSPF segment routing being refactored
Closed, ResolvedPublicFEATURE REQUEST

Description

This is to refactor the ISIS segment routing portion of the config and to bring it up on par with OSPF segment routing syntax.

Details

Difficulty level
Normal (likely a few hours)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Internal change (not visible to end users)

Event Timeline

Cheeze_It changed the task status from Open to In progress.Oct 8 2022, 3:30 AM
Cheeze_It claimed this task.
Cheeze_It triaged this task as Normal priority.
Cheeze_It created this task.
Cheeze_It changed Difficulty level from Unknown (require assessment) to Normal (likely a few hours).
Cheeze_It renamed this task from ISIS segment routing being refactored to ISIS and OSPF segment routing being refactored.Oct 14 2022, 2:58 AM
Cheeze_It changed the task status from In progress to Needs testing.Oct 15 2022, 3:59 AM

Here is ISIS segment routing working:

vyos@BB1-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB2-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB3-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB4-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB5-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB6-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB7-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB8-VYOS:~$ show isis segment-routing node
Area VyOS:
 IS-IS L1 SR-Nodes:

 IS-IS L2 SR-Nodes:

 System ID       SRGB      SRLB           Algorithm  MSD
 ---------------------------------------------------------
 1921.6825.5001  50 - 100  15000 - 15999  SPF        0
 1921.6825.5002  50 - 100  15000 - 15999  SPF        0
 1921.6825.5003  50 - 100  15000 - 15999  SPF        0
 1921.6825.5004  50 - 100  15000 - 15999  SPF        0
 1921.6825.5005  50 - 100  15000 - 15999  SPF        0
 1921.6825.5006  50 - 100  15000 - 15999  SPF        0
 1921.6825.5007  50 - 100  15000 - 15999  SPF        0
 1921.6825.5008  50 - 100  15000 - 15999  SPF        0

vyos@BB1-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 52             SR (IS-IS)  192.168.0.9            IPv4 Explicit Null
 53             SR (IS-IS)  192.168.0.9            53
 54             SR (IS-IS)  192.168.0.9            54
 55             SR (IS-IS)  192.168.0.1            IPv4 Explicit Null
 56             SR (IS-IS)  192.168.0.9            56
 56             SR (IS-IS)  192.168.0.1            56
 57             SR (IS-IS)  192.168.0.9            57
 57             SR (IS-IS)  192.168.0.1            57
 58             SR (IS-IS)  192.168.0.9            58
 58             SR (IS-IS)  192.168.0.1            58
 15000          SR (IS-IS)  192.168.0.1            implicit-null
 15001          SR (IS-IS)  fe80::e06:cfff:fe17:1  implicit-null
 15002          SR (IS-IS)  192.168.0.9            implicit-null
 15003          SR (IS-IS)  fe80::e81:7aff:fe90:3  implicit-null

vyos@BB2-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.8            IPv4 Explicit Null
 53             SR (IS-IS)  192.168.0.13           IPv4 Explicit Null
 54             SR (IS-IS)  192.168.0.13           54
 55             SR (IS-IS)  192.168.0.3            55
 55             SR (IS-IS)  192.168.0.8            55
 56             SR (IS-IS)  192.168.0.3            IPv4 Explicit Null
 57             SR (IS-IS)  192.168.0.13           57
 57             SR (IS-IS)  192.168.0.3            57
 58             SR (IS-IS)  192.168.0.13           58
 58             SR (IS-IS)  192.168.0.3            58
 15000          SR (IS-IS)  192.168.0.8            implicit-null
 15001          SR (IS-IS)  fe80::e7b:5ff:fe99:2   implicit-null
 15002          SR (IS-IS)  192.168.0.3            implicit-null
 15003          SR (IS-IS)  fe80::ef7:b3ff:fe9c:1  implicit-null
 15004          SR (IS-IS)  192.168.0.13           implicit-null
 15005          SR (IS-IS)  fe80::e88:4dff:fe56:3  implicit-null

vyos@BB3-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.12           51
 52             SR (IS-IS)  192.168.0.12           IPv4 Explicit Null
 54             SR (IS-IS)  192.168.0.17           IPv4 Explicit Null
 55             SR (IS-IS)  192.168.0.12           55
 55             SR (IS-IS)  192.168.0.5            55
 56             SR (IS-IS)  192.168.0.12           56
 56             SR (IS-IS)  192.168.0.5            56
 57             SR (IS-IS)  192.168.0.5            IPv4 Explicit Null
 58             SR (IS-IS)  192.168.0.17           58
 58             SR (IS-IS)  192.168.0.5            58
 15000          SR (IS-IS)  192.168.0.5            implicit-null
 15001          SR (IS-IS)  fe80::ec8:bbff:fe92:1  implicit-null
 15002          SR (IS-IS)  192.168.0.17           implicit-null
 15003          SR (IS-IS)  fe80::e87:73ff:fec8:3  implicit-null
 15004          SR (IS-IS)  192.168.0.12           implicit-null
 15005          SR (IS-IS)  fe80::e81:7aff:fe90:2  implicit-null

vyos@BB4-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.16           51
 52             SR (IS-IS)  192.168.0.16           52
 53             SR (IS-IS)  192.168.0.16           IPv4 Explicit Null
 55             SR (IS-IS)  192.168.0.16           55
 55             SR (IS-IS)  192.168.0.7            55
 56             SR (IS-IS)  192.168.0.16           56
 56             SR (IS-IS)  192.168.0.7            56
 57             SR (IS-IS)  192.168.0.16           57
 57             SR (IS-IS)  192.168.0.7            57
 58             SR (IS-IS)  192.168.0.7            IPv4 Explicit Null
 15000          SR (IS-IS)  192.168.0.7            implicit-null
 15001          SR (IS-IS)  fe80::ed6:31ff:fe37:1  implicit-null
 15002          SR (IS-IS)  192.168.0.16           implicit-null
 15003          SR (IS-IS)  fe80::e88:4dff:fe56:2  implicit-null

vyos@BB5-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.0            IPv4 Explicit Null
 52             SR (IS-IS)  192.168.0.11           52
 52             SR (IS-IS)  192.168.0.0            52
 53             SR (IS-IS)  192.168.0.11           53
 53             SR (IS-IS)  192.168.0.0            53
 54             SR (IS-IS)  192.168.0.0            54
 54             SR (IS-IS)  192.168.0.11           54
 56             SR (IS-IS)  192.168.0.11           IPv4 Explicit Null
 57             SR (IS-IS)  192.168.0.11           57
 58             SR (IS-IS)  192.168.0.11           58
 15000          SR (IS-IS)  192.168.0.0            implicit-null
 15001          SR (IS-IS)  fe80::e7b:5ff:fe99:1   implicit-null
 15002          SR (IS-IS)  192.168.0.11           implicit-null
 15003          SR (IS-IS)  fe80::ef7:b3ff:fe9c:3  implicit-null

vyos@BB6-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.10           51
 51             SR (IS-IS)  192.168.0.2            51
 52             SR (IS-IS)  192.168.0.2            IPv4 Explicit Null
 53             SR (IS-IS)  192.168.0.15           53
 53             SR (IS-IS)  192.168.0.2            53
 54             SR (IS-IS)  192.168.0.2            54
 54             SR (IS-IS)  192.168.0.15           54
 55             SR (IS-IS)  192.168.0.10           IPv4 Explicit Null
 57             SR (IS-IS)  192.168.0.15           IPv4 Explicit Null
 58             SR (IS-IS)  192.168.0.15           58
 15000          SR (IS-IS)  192.168.0.2            implicit-null
 15001          SR (IS-IS)  fe80::e81:7aff:fe90:1  implicit-null
 15002          SR (IS-IS)  192.168.0.15           implicit-null
 15003          SR (IS-IS)  fe80::ec8:bbff:fe92:3  implicit-null
 15004          SR (IS-IS)  192.168.0.10           implicit-null
 15005          SR (IS-IS)  fe80::e06:cfff:fe17:2  implicit-null

vyos@BB7-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.4            51
 51             SR (IS-IS)  192.168.0.14           51
 52             SR (IS-IS)  192.168.0.4            52
 52             SR (IS-IS)  192.168.0.14           52
 53             SR (IS-IS)  192.168.0.4            IPv4 Explicit Null
 54             SR (IS-IS)  192.168.0.4            54
 54             SR (IS-IS)  192.168.0.19           54
 55             SR (IS-IS)  192.168.0.14           55
 56             SR (IS-IS)  192.168.0.14           IPv4 Explicit Null
 58             SR (IS-IS)  192.168.0.19           IPv4 Explicit Null
 15000          SR (IS-IS)  192.168.0.14           implicit-null
 15001          SR (IS-IS)  fe80::ef7:b3ff:fe9c:2  implicit-null
 15002          SR (IS-IS)  192.168.0.19           implicit-null
 15003          SR (IS-IS)  fe80::ed6:31ff:fe37:3  implicit-null
 15004          SR (IS-IS)  192.168.0.4            implicit-null
 15005          SR (IS-IS)  fe80::e88:4dff:fe56:1  implicit-null

vyos@BB8-VYOS:~$ show mpls table
 Inbound Label  Type        Nexthop                Outbound Label
 ----------------------------------------------------------------------
 51             SR (IS-IS)  192.168.0.6            51
 51             SR (IS-IS)  192.168.0.18           51
 52             SR (IS-IS)  192.168.0.6            52
 52             SR (IS-IS)  192.168.0.18           52
 53             SR (IS-IS)  192.168.0.18           53
 53             SR (IS-IS)  192.168.0.6            53
 54             SR (IS-IS)  192.168.0.6            IPv4 Explicit Null
 55             SR (IS-IS)  192.168.0.18           55
 56             SR (IS-IS)  192.168.0.18           56
 57             SR (IS-IS)  192.168.0.18           IPv4 Explicit Null
 15000          SR (IS-IS)  192.168.0.6            implicit-null
 15001          SR (IS-IS)  fe80::e87:73ff:fec8:1  implicit-null
 15002          SR (IS-IS)  192.168.0.18           implicit-null
 15003          SR (IS-IS)  fe80::ec8:bbff:fe92:2  implicit-null

I am finding out, it seems OSPF SR doesn't work properly :(

Here are the configs for all 8 routers:

vyos@BB1-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.1/32 index value '1'
vyos@BB1-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB1-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.1/32 index 1
exit
!
end

vyos@BB2-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.2/32 index value '2'
vyos@BB2-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB2-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.2/32 index 2
exit
!
end

vyos@BB3-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.3/32 index value '3'
vyos@BB3-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB3-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.3/32 index 3
exit
!
end

vyos@BB4-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.4/32 index value '4'
vyos@BB4-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB4-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.4/32 index 4
exit
!
end

vyos@BB5-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.5/32 index value '5'
vyos@BB5-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB5-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.5/32 index 5
exit
!
end

vyos@BB6-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.6/32 index value '6'
vyos@BB6-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB6-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.6/32 index 6
exit
!
end

vyos@BB7-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.7/32 index value '7'
vyos@BB7-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB7-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.7/32 index 7
exit
!
end

vyos@BB8-VYOS:~$ show configuration commands | match ospf
set protocols ospf interface eth1 area '0.0.0.0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols ospf interface eth2 area '0.0.0.0'
set protocols ospf interface eth2 network 'point-to-point'
set protocols ospf interface eth3 area '0.0.0.0'
set protocols ospf interface eth3 network 'point-to-point'
set protocols ospf interface lo area '0.0.0.0'
set protocols ospf segment-routing global-block high-label-value '1999'
set protocols ospf segment-routing global-block low-label-value '1000'
set protocols ospf segment-routing local-block high-label-value '2999'
set protocols ospf segment-routing local-block low-label-value '2000'
set protocols ospf segment-routing prefix 192.168.255.8/32 index value '8'
vyos@BB8-VYOS:~$ vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 8.3.1
frr defaults traditional
hostname BB8-VYOS
log syslog
log facility local7
service integrated-vtysh-config
!
interface eth1
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth2
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface eth3
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
interface lo
 ip ospf area 0.0.0.0
 ip ospf dead-interval 40
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 segment-routing on
 segment-routing global-block 1000 1999 local-block 2000 2999
 segment-routing prefix 192.168.255.8/32 index 8
exit
!
end

However we only see adjacency labels....we do not see prefix labels:

vyos@BB1-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop      Outbound Label
 -------------------------------------------------------
 2000           SR (OSPF)  192.168.0.1  implicit-null
 2001           SR (OSPF)  192.168.0.1  implicit-null
 2002           SR (OSPF)  192.168.0.9  implicit-null
 2003           SR (OSPF)  192.168.0.9  implicit-null

vyos@BB2-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.3   implicit-null
 2001           SR (OSPF)  192.168.0.3   implicit-null
 2002           SR (OSPF)  192.168.0.13  implicit-null
 2003           SR (OSPF)  192.168.0.13  implicit-null
 2004           SR (OSPF)  192.168.0.8   implicit-null
 2005           SR (OSPF)  192.168.0.8   implicit-null

vyos@BB3-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.5   implicit-null
 2001           SR (OSPF)  192.168.0.5   implicit-null
 2002           SR (OSPF)  192.168.0.17  implicit-null
 2003           SR (OSPF)  192.168.0.17  implicit-null
 2004           SR (OSPF)  192.168.0.12  implicit-null
 2005           SR (OSPF)  192.168.0.12  implicit-null

vyos@BB4-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.7   implicit-null
 2001           SR (OSPF)  192.168.0.7   implicit-null
 2002           SR (OSPF)  192.168.0.16  implicit-null
 2003           SR (OSPF)  192.168.0.16  implicit-null

vyos@BB5-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.11  implicit-null
 2001           SR (OSPF)  192.168.0.11  implicit-null
 2002           SR (OSPF)  192.168.0.0   implicit-null
 2003           SR (OSPF)  192.168.0.0   implicit-null

vyos@BB6-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.15  implicit-null
 2001           SR (OSPF)  192.168.0.15  implicit-null
 2002           SR (OSPF)  192.168.0.10  implicit-null
 2003           SR (OSPF)  192.168.0.10  implicit-null
 2004           SR (OSPF)  192.168.0.2   implicit-null
 2005           SR (OSPF)  192.168.0.2   implicit-null

vyos@BB7-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.19  implicit-null
 2001           SR (OSPF)  192.168.0.19  implicit-null
 2002           SR (OSPF)  192.168.0.14  implicit-null
 2003           SR (OSPF)  192.168.0.14  implicit-null
 2004           SR (OSPF)  192.168.0.4   implicit-null
 2005           SR (OSPF)  192.168.0.4   implicit-null

vyos@BB8-VYOS:~$ show mpls table
 Inbound Label  Type       Nexthop       Outbound Label
 --------------------------------------------------------
 2000           SR (OSPF)  192.168.0.18  implicit-null
 2001           SR (OSPF)  192.168.0.18  implicit-null
 2002           SR (OSPF)  192.168.0.6   implicit-null
 2003           SR (OSPF)  192.168.0.6   implicit-null

I have opened a case with FRR and it is currently being looked at/worked on. The link is (https://github.com/FRRouting/frr/issues/12007).

Cheeze_It changed the task status from Needs testing to Known issue.Oct 17 2022, 5:21 AM

We figured out the problem. So for OSPF segment routing to work we need to enable opaque LSA capabilities. So by default VyOS doesn't have opaque LSAs (type 9, type 10, type 11) enabled. So after checking the configuration for the OSPF FRR template I noticed that the actual command to enable opaque LSAs is broken because it's not in the OSPF FRR template. Once we fix that, we'll have working OSPF segment routing.

It'll be a little while as I am currently doing documentation, but once I put in the PR fix for that we'll have it all working.

Adding PR to fix OSPF opaque LSA and rfc 1583 compatibility to the OSPF FRR Jinja2 template.

https://github.com/vyos/vyos-1x/pull/1679

OSPF and ISIS segment routing should now have been successfully refactored...at least for now.

Documentation has been updated too.

Closing task