This is to refactor the ISIS segment routing portion of the config and to bring it up on par with OSPF segment routing syntax.
Description
Details
- Version
- -
- Is it a breaking change?
- Perfectly compatible
- Issue type
- Internal change (not visible to end users)
Related Objects
- Mentioned In
- rVYOSONEX137ff6601194: Merge pull request #3455 from vyos/mergify/bp/sagitta/pr-3454
rVYOSONEX4c526750a1da: smoketest: ospf: T4739: add timeout in ldp test
rVYOSONEXfbc846725d7d: smoketest: ospf: T4739: add timeout in ldp test
rVYOSONEXc3c81dcc0a79: Merge pull request #3454 from c-po/ospf
rVYOSONEXf96731947f2f: ospf: T4739: Adding missing OSPF FRR template
rVYOSONEXa835da15e0f2: ospf: T4739: Adding missing OSPF FRR template
rVYOSONEXe4e81b3d7f96: Merge pull request #1679 from Cheeze-It/current
rVYOSONEX57dd8a257052: T4739: ISIS segment routing being refactored
rVYOSONEXe3d66e7eb61c: T4739: OSPF segment routing being refactored
rVYOSONEX427ea592ae8d: Merge pull request #1595 from Cheeze-It/current
rVYOSONEX06d6386e5d9f: xml: ospf: isis: T4739: merge include files for MPLS segment-routing
rVYOSONEX08c2a057917c: isis: T4739: ISIS segment routing being refactored
rVYOSONEX7f7705da4def: Merge pull request #1574 from Cheeze-It/current
Event Timeline
Put in hopefully the last PR for this here, https://github.com/vyos/vyos-1x/pull/1595
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).
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.
OSPF and ISIS segment routing should now have been successfully refactored...at least for now.
Documentation has been updated too.
Closing task