Date created: Wednesday, December 4, 2024 11:52:39 AM. Last modified: Friday, December 6, 2024 1:16:19 PM

Basic ISIS-SR FlexAlgo

Full Configs

Login details are: admin/admin

IS-IS key is: admin

This was tested using cEOS version 4.31.2F.

 

Topology

In this example two routers have two L3 links between them running ISIS-SR and FlexAlgo.

One link has a lower (more preferred) default ISIS metric. A TE metric is also configured on each link. Again, one link has a lower (more preferred) TE metric (the opposite link to the one with the more preferred default metric):

  • pe1:et1 -> pe2:et1
    • IS-IS metric: 10
    • TE metric: 20
  • pe1:et2 -> pe2:et2
    • IS-IS metric: 20
    • TE metric: 10

 

Default Routing

PE1 prefers the path to PE2's Loopback0 IP via the link with the lowest cost default IS-IS metric:

pe1#show isis interface brief 

IS-IS Instance: Gandalf VRF: default

Interface Level IPv4 Metric IPv6 Metric Type           Adjacency
--------- ----- ----------- ----------- -------------- ---------
Ethernet1 L2             10          10 point-to-point         1
Ethernet2 L2             20          20 point-to-point         1
Loopback0 L2             10          10 loopback       (passive)


pe1#show isis neighbors

Instance VRF System Id Type Interface SNPA State Hold time Circuit Id
Gandalf default pe2 L2 Ethernet1 P2P UP 26 0F
Gandalf default pe2 L2 Ethernet2 P2P UP 22 11

pe1#show ip route 10.0.0.2/32 detail | beg 10.0.0.2
I L2 10.0.0.2/32 [115/20]
via 10.1.0.2, Ethernet1 pe1 -> pe2

 

FlexAlgo Routing

A FlexAlgo instance is also configured which uses the TE metric configured on each interface.

BGP is configured on both routers and the IP address from the Loopback10 interface on each router is advertised in BGP with a "color" extended community attached. The FlexAlgo instance is bound to the same colour (100).

The result is that lookups for the next-hop of these BGP routes uses the FlexAlgo calculated topology, and as a result, PE1 prefers the path to PE's2 Loopback10 IP via the path with the lowest TE metric (Ethernet2), not the lowest IS-IS default metric (Ethernet1):

pe1#show bgp ipv4 unicast 10.10.10.2/32 detail 
BGP routing table information for VRF default
Router identifier 10.0.0.1, local AS number 65001
BGP routing table entry for 10.10.10.2/32
 Paths: 1 available
  Local
    10.0.0.2 from 10.0.0.2 (10.0.0.2)
      Origin IGP, metric 0, localpref 100, IGP metric 10, weight 0, tag 0
      Received 00:07:57 ago, valid, internal, best
      Extended Community: Color:CO(00):100
      Rx SAFI: Unicast
      Tunnel RIB eligible
 Not advertised to any peer.


pe1#show ip route 10.10.10.2/32 detail | beg 10.10.10.2
 B I      10.10.10.2/32 [200/0]
           via 10.0.0.2/32, algorithm bandw, IS-IS FlexAlgo tunnel index 1
              via TI-LFA tunnel index 0, label imp-null(3)
                 via 10.1.0.6, Ethernet2, label imp-null(3)
                 backup via 10.1.0.2, Ethernet1, label imp-null(3)


pe1#show isis flex-algo algorithm bandw 

IS-IS Instance: Gandalf VRF: default

Algorithm Priority Level Advertiser 
--------- -------- ----- ---------- 
bandw          237 L2    pe2        

Parameters:
advertised
metric TE
color 100

Other advertisers: pe1


pe1#show isis flex-algo routers 

IS-IS Instance: Gandalf VRF: default

Algorithm: bandw

Router Level Advertising Priority
------ ----- ----------- --------
pe1    L2    yes              237
pe2    L2    yes              237


pe1#show isis segment-routing prefix-segments 

System ID: pe1                  Instance: 'Gandalf'
SR supported Data-plane: MPLS                   SR Router ID: 10.0.0.1

Node: 4      Proxy-Node: 0      Prefix: 0       Total Segments: 4

Flag Descriptions: R: Re-advertised, N: Node Segment, P: no-PHP
                   E: Explicit-NULL, V: Value, L: Local
Segment status codes: * - Self originated Prefix, L1 - level 1, L2 - level 2, ! - SR-unreachable,
                      # - Some IS-IS next-hops are SR-unreachable
   Prefix                      SID Type       Flags                        System ID       Level Protection  Algorithm   
   ------------------------- ----- ---------- ---------------------------- --------------- ----- ----------- -------------
*  10.0.0.1/32                1001 Node       R:0 N:1 P:0 E:0 V:0 L:0      pe1             L2    unprotected SPF         
*  10.0.0.1/32                2001 Node       R:0 N:1 P:0 E:0 V:0 L:0      pe1             L2    unprotected bandw       
   10.0.0.2/32                1002 Node       R:0 N:1 P:0 E:0 V:0 L:0      pe2             L2    link        SPF         
   10.0.0.2/32                2002 Node       R:0 N:1 P:0 E:0 V:0 L:0      pe2             L2    link        bandw 


pe1#show tunnel rib colored brief 
Tunnel RIB: system-colored-tunnel-rib
 Endpoint       Color    Tunnel Type       Index(es)    Tunnel Preference    IGP Preference    IGP Metric   Metric Type
-------------- -------- ----------------- ------------ -------------------- ----------------- ------------- -----------
 10.0.0.2/32    100      IS-IS FlexAlgo    1            65                   115               10           metric     


pe1#show tunnel rib brief 
Tunnel RIB: system-tunnel-rib
   Endpoint          Tunnel Type         Index(es)       Tunnel Preference       IGP Preference       IGP Metric    Metric Type
----------------- ------------------- --------------- ----------------------- -------------------- ---------------- -----------
   10.0.0.2/32       IS-IS SR IPv4       1               65                      115                  20            metric     

 

This is the full IS-IS database:

pe1#show isis database detail 
Legend:
H - hostname conflict
U - node unreachable

IS-IS Instance: Gandalf VRF: default
  IS-IS Level 2 Link State Database
    LSPID                   Seq Num  Cksum  Life Length IS  Received LSPID        Flags
    pe1.00-00                    10  10629 64804    249 L2  0000.0000.0001.00-00  <>
      LSP generation remaining wait time: 0 ms
      Time remaining until refresh: 48420 s
      NLPID: 0xCC(IPv4)
      Hostname: pe1
      Authentication mode: SHA Key id: 0 Length: 35
      Area addresses: 49.0001
      Interface address: 10.1.0.5
      Interface address: 10.1.0.1
      Interface address: 10.0.0.1
      IS Neighbor          : pe2.00              Metric: 10
        IPv4 Neighbor Address: 10.1.0.2
        IPv4 Interface Address: 10.1.0.1
        Adj-sid: 100001 flags: [L V B] weight: 0x0
      IS Neighbor          : pe2.00              Metric: 20
        IPv4 Neighbor Address: 10.1.0.6
        IPv4 Interface Address: 10.1.0.5
        Adj-sid: 100000 flags: [L V B] weight: 0x0
      Reachability         : 10.0.0.1/32 Metric: 10 Type: 1 Up
        SR Prefix-SID: 1001 Flags: [N] Algorithm: 0
        SR Prefix-SID: 2001 Flags: [N] Algorithm: 200
      Router Capabilities: Router Id: 10.0.0.1 Flags: []
        SR Local Block:
          SRLB Base: 965536 Range: 65536
        Area leader priority: 250 algorithm: 0
        Maximum SID depth:
          Base MPLS imposition (MSD type 1):  6
        SR Capability: Flags: [I]
          SRGB Base: 900000 Range: 65536
        Algorithms:  0, 200
        Flex Algo: Algorithm: 200 Metric: TE Metric (2) Calc: SPF (0) Prio: 237
    pe2.00-00                    10  26583 64804    249 L2  0000.0000.0002.00-00  <>
      Remaining lifetime received: 65534 s Modified to: 65535 s
      NLPID: 0xCC(IPv4)
      Hostname: pe2
      Authentication mode: SHA Key id: 0 Length: 35
      Area addresses: 49.0001
      Interface address: 10.1.0.6
      Interface address: 10.0.0.2
      Interface address: 10.1.0.2
      IS Neighbor          : pe1.00              Metric: 10
        IPv4 Neighbor Address: 10.1.0.1
        IPv4 Interface Address: 10.1.0.2
        Adj-sid: 100001 flags: [L V B] weight: 0x0
      IS Neighbor          : pe1.00              Metric: 20
        IPv4 Neighbor Address: 10.1.0.5
        IPv4 Interface Address: 10.1.0.6
        Adj-sid: 100000 flags: [L V B] weight: 0x0
      Reachability         : 10.0.0.2/32 Metric: 10 Type: 1 Up
        SR Prefix-SID: 1002 Flags: [N] Algorithm: 0
        SR Prefix-SID: 2002 Flags: [N] Algorithm: 200
      Router Capabilities: Router Id: 10.0.0.2 Flags: []
        SR Local Block:
          SRLB Base: 965536 Range: 65536
        Area leader priority: 250 algorithm: 0
        Maximum SID depth:
          Base MPLS imposition (MSD type 1):  6
        SR Capability: Flags: [I]
          SRGB Base: 900000 Range: 65536
        Algorithms:  0, 200
        Flex Algo: Algorithm: 200 Metric: TE Metric (2) Calc: SPF (0) Prio: 237