Showing posts with label Color-Community. Show all posts
Showing posts with label Color-Community. Show all posts

Thursday, March 12, 2026

Flex-Algo Configuring on Nokia 7750 SR and steering VPRN traffic via Flex-algo 129 : A Step-by-Step Implementation Guide

Flex Algo provides the mechanism for IGP to use constraint-based paths like RSVP or SR TE using ISIS or OSPF extensions. By default, ISIS uses default algorithm 0. Along with it, there are 128 to 255 algorithms supported in Nokia. 

As of writing, Nokia does not support flex-algo 1. but it does supported by juniper because we have identified during a project to swap Juniper MX with Nokia 7750 SR

All the routers participating in the Flex Algorithm should have the same definition of how it should work.

Consider the SRGB block of 2000-3000. To reach prefix F1, index-1, algorithm 0, label is 2001, then we have prefix F2, index-101, algorithm 128 and to reach F2 label is 2101

Nokia supports Flex algo 128, 129 and 130.

 



By default the IGP cost-based tunnel travels through PE5 to PE3 via PE5-PE1-ASBR1-ASBR3-PE5. 

Let's configure Flex Algo 129 based on delay and push the traffic towards PE5-PE5-PE2-ASBR2-ASBR4-PE4-PE3.

*A:PE5>config>router>fad>flex-algo$ metric-type

{igp|te-metric|delay}

We can map the flex algo to SR-MPLS as well or steer traffic to SR-TE.

Delay metric:

We can configure the delay metric statically or dynamically and advertise it in ISIS or OSPF. 

Configuring the delay metric on the interface directly.

        interface "PE1"

            if-attribute

                delay

                    static 100000

                exit

            exit

            no shutdown

        exit

        interface "PE6"

            if-attribute

                delay

                    static 10000

                exit

            exit

            no shutdown

        exit

As per our topology, shortest path to reach the PE5 to PE3 is via PE1 through IGP metric calculation. 

Propogating the delay in IGP

*A:PE5>config>router>isis# info

----------------------------------------------

            level-capability level-2

            area-id 49.0001

            traffic-engineering-options

                advertise-delay

                application-link-attributes

                exit

            exit

We can configure both static and dynamic delay together and have the option to configure which one we prefer. I am using a static delay. In a later blog, we will use the dynamic delay calculation using twamp.








Configuring the flex algo and metric-type










ISIS advertising flex algo 129 and delay as metric type



A:PE3>conf>router>segment-routing# info

            sr-mpls

                prefix-sids "system"

                    ipv4-sid index 13

                    flex-algo 129

                        ipv4-sid index 53

                    exit

                exit

            exit

            sr-policies

                shutdown

                reserved-label-block "sr-policy"

            exit

A:PE3>conf>router>segment-routing# sr-mpls prefix-sids "system"

A:PE3>config>router>segment-routing>sr-mpls>prefix-sids# flex-algo 129 no ipv

ipv4-sid  ipv6-sid

A:PE3>config>router>segment-routing>sr-mpls>prefix-sids# flex-algo 129 no ipv4-sid

*A:PE3>config>router>segment-routing>sr-mpls>prefix-sids# info

----------------------------------------------

                    ipv4-sid index 13

                    flex-algo 129

                    exit

----------------------------------------------

*A:PE3>config>router>segment-routing>sr-mpls>prefix-sids# no flex-algo 129

*A:PE3>config>router>isis# interface "system" flex-algo

<[128..255]>

 

*A:PE3>config>router>isis# interface "system" flex-algo 129

ipv4-node-sid   ipv6-node-sid

*A:PE3>config>router>isis# interface "system" flex-algo 129 ipv4-node-sid

index <[0..4294967295]>

label <[0..4294967295]>


*A:PE3>config>router>isis# interface "system" flex-algo 129 ipv4-node-sid index 53

A:PE3>config>router>isis# info

            interface "system"

                level-capability level-2

                passive

                flex-algo 129

                    ipv4-node-sid index 53

                exit

                no shutdown

            exit

*A:PE2>conf>router>segment-routing# sr-mpls prefix-sids "system" no flex-algo 129

*A:PE2>conf>router>segment-routing#

*A:PE2>conf>router>segment-routing#

*A:PE2>conf>router>segment-routing# /co

configure  compare

*A:PE2>conf>router>segment-routing# /conrouter is

                                   ^

Error: Bad command.

*A:PE2>conf>router>segment-routing# /configure router isis 1

*A:PE2>config>router>isis# interface "system" flex-algo      

<[128..255]>

*A:PE2>config>router>isis# interface "system" flex-algo 129  

ipv4-node-sid   ipv6-node-sid

*A:PE2>config>router>isis# interface "system" flex-algo 129 ipv4-node-sid index 52

After swapping the flex-algo index from shared sid to system interface under isis. Route-table is populated with routes. Output below

A:PE5# show router tunnel-table

 

===============================================================================

IPv4 Tunnel Table (Router: Base)

===============================================================================

Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric

   Color                                                             

-------------------------------------------------------------------------------

1.0.0.1/32 [L]        isis (1)  MPLS  524359    11     10.1.5.1       10

1.0.0.2/32 [L]        isis (1)  MPLS  524372    11     10.1.5.1       20

1.0.0.2/32            isis (1)  MPLS  524379    11     10.5.6.6       18000


















From below output we need to fix the PE4 to advertise the flex algo 129 route properly


















After remapping the flex-algo node index under the ISIS context, now we see tunnel table entries separately for algo 0 and algo 129.








Steering traffic using an auto-bind tunnel, or we can use the Flex algorithm label used for 129 under path in SR-TE.

Let's use an auto-bind tunnel via VPRN service and make it work end to end to use flex-algo for VPRN traffic









Now we can see that for the PE3 destination, we have SR-ISIS flex-algo 129 tunnel based on delay installed.






Tuesday, March 3, 2026

Implementing BGP-Signaled SR Policy on Nokia 7750 SR

In the previous post, we discussed the SR-Static policy on the local router. Do we have the option to create a policy and advertise to other routers in the network? Then yes, it is possible to send the SR policy from the centralized controller or from the SR-OS routers within the network.

Let’s configure and advertise the SR policy from ASBR1 using BGP for PE3 to PE5.

It’s like the previous configuration, but the only difference is we mention the headend router ip address of PE3.

PE3 to PE5 SR policy

Enabling the sr-policy ipv4 in bgp family and importing the sr-policy, the sr-policy-import command in bgp allows the static policy to be advertised in BGP except for the local policy.

Enabling the sr-policy-ipv4 family under BGP neighbors

SR-policy advertisement from ASBR1

BGP advertisement of SR policy

PE3 to PE6 sr-policy verification


LSP trace confirms the traffic via the sr-policy path


SR-Policy Route installed in the tunnel table


PE5: Adding color to the route advertisement from PE5 to PE3



Add the policy in VPRN import/export policy

We can see the PE5 adding the color while advertising the routes to PE3


SR-policy applied for the route towards PE5 

Ping between PE3 and PE5 via SR policy