Traditional IS-IS routing uses a single shortest-path algorithm (SPF) based on link metric. Every packet follows the same path to every destination — regardless of whether that path is optimal for latency-sensitive 5G traffic, high-bandwidth video streaming, or isolated management traffic. Segment Routing Flexible Algorithm (Flex-Algo) solves this by allowing operators to define multiple custom routing algorithms that coexist in the same network.
What is Flex-Algo?
Flex-Algo is an extension of IS-IS Segment Routing that enables operators to define additional SPF computations — each using a different optimization metric and/or link affinity constraints. Each algorithm gets its own Flex-Algo ID (128–255), its own set of prefix SIDs, and its own forwarding entries. Traffic is steered into the appropriate algorithm by placing the correct Flex-Algo SID in the segment stack.
| Algorithm ID | Type | Optimization | 대표 사용 사례 |
|---|---|---|---|
| 0 | Standard SPF | Minimum IGP metric | Default best-path routing |
| 128 | Flex-Algo | Minimum delay | 5G fronthaul, real-time gaming |
| 129 | Flex-Algo | Minimum TE metric | High-bandwidth bulk traffic |
| 130 | Flex-Algo | Exclude red links | Traffic isolation, regulatory compliance |
How Flex-Algo Works in IS-IS
Configuring Flex-Algo in OcNOS
! OcNOS -- Define Flex-Algo algorithms in IS-IS (on all routers)
!
router isis CORE
net 49.0001.0000.0000.0001.00
is-type level-2-only
segment-routing mpls
!
! Algorithm 128: minimize link delay (for latency-sensitive traffic)
flex-algo 128
metric-type delay ! Use link delay as optimization metric
advertise-definition ! Flood definition to all IS-IS routers
priority 128 ! Higher priority wins if conflict
!
! Algorithm 129: minimize TE metric (for high-bandwidth traffic)
flex-algo 129
metric-type te-metric ! Use TE metric (configured per-link)
advertise-definition
priority 128
!
! Algorithm 130: exclude "red" links (traffic isolation)
flex-algo 130
metric-type igp ! Use standard IGP metric
affinity exclude-any RED ! Exclude any link with RED affinity
advertise-definition
priority 128
!
address-family ipv4 unicast
segment-routing mpls
exit-address-family
! OcNOS -- Assign per-algorithm SIDs to loopback (all routers)
!
interface lo
ip address 10.0.0.1/32
ip router isis CORE
!
! Default algorithm (algo 0): standard SID
isis segment-routing prefix-sid index 1 ! Label: SRGB_base + 1
!
! Algorithm 128: separate SID for delay-optimized topology
isis segment-routing prefix-sid algorithm 128 index 1001
! Label: SRGB_base + 1001 (e.g., 16000 + 1001 = 17001)
!
! Algorithm 129: separate SID for TE-metric topology
isis segment-routing prefix-sid algorithm 129 index 2001
! Label: SRGB_base + 2001 (e.g., 16000 + 2001 = 18001)
! OcNOS -- Configure per-link delay and TE metrics
!
interface eth-0-1
ip router isis CORE
isis metric 10 ! Standard IGP metric
!
! Link delay for Flex-Algo 128
isis metric delay 2000 ! 2ms delay (in microseconds: 2000us)
!
! TE metric for Flex-Algo 129
isis metric te-metric 10 ! Low TE metric = preferred for bulk BW
!
interface eth-0-2
ip router isis CORE
isis metric 10
isis metric delay 8000 ! 8ms delay -- less preferred for Algo 128
isis metric te-metric 100 ! High TE metric -- less preferred for Algo 129
!
! Set link affinity for Flex-Algo 130 isolation:
interface eth-0-3
isis affinity RED ! This link excluded by Algo 130
Steering Traffic with Flex-Algo SIDs
! OcNOS -- Use Flex-Algo SIDs in SR-TE policy for traffic steering
!
segment-routing
traffic-eng
policy LATENCY-5G
color 128 end-point 10.0.0.5 ! Steer toward PE5 via Algo 128
candidate-paths
preference 100
dynamic ! PCE computes using Algo 128 SIDs
metric type delay
!
!
!
!
policy BULK-DATA
color 129 end-point 10.0.0.5
candidate-paths
preference 100
dynamic
metric type te
!
!
!
!
!
!
! Verify Flex-Algo topology is correct:
show isis flex-algo
show isis database detail | include Flex-Algo
show isis segment-routing prefix-sids
- Flex-Algo Part 2: TE-Metric Optimization
- Flex-Algo Part 3: Link Delay Optimization
- SR-MPLS Fundamentals
- ISIS-SR with TI-LFA
- OcNOS-SP Product Page
- IP Infusion 문의
IP Infusion Engineering Team