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









Monday, March 2, 2026

Steering Traffic via Local SR-Policy using BGP Color community on Nokia 7750 SR

SR-Policy can be used to steer traffic across a pre-determined path (similar to SR-TE strict hop)

SR-Policy can be configured locally aka Local SR-Policy or distributed via Central Controller aka BGP SR-Policy

SR Policy segment-list can be a complete list involving all nodes along the path to destination or listing only few intermediate nodes along the path (same like loose path in RSVP-TE or SR-TE)

 

 

Lets configure the Local SR-policy in PE5 router and bind the VPRN to the SR-policy.

Then we will configure the color on PE3 and attach the color to the VPRN route.

PE5 will check the color on received routes attach the SR-policy

First we need to configure the label block for Binding SID

PE5 Router configuration:

 

 There are total 6 hops between PE5 and PE3 router, I will use only 3 labels inside the SR_policy.

BGP Configuration:

 

 VPRN Configuration on PE5

 

VPRN configuration on PE3

 


Export policy to match the color on PE3:

 

VPRN route table installed route and pointing SR policy for Remote loopback

 

 Lets initiate the Ping to check the rechability between  PE5 vprn to PE3 vprn

  

Even we have the route installed in the respective route table ping is not successfully

Next, lets verify the LSP ping between PE5 and PE3 

 

 LSP ping is successfully completed

After performing trace observed the trace last reply from PE4 router which is before PE3

 

I did misunderstand that SR-policy no need to provide the Destination router Node-SID or ADJ SID in the SR-policy. So, configured the policy with the Node SID of PE3.

Its good making mistake so that we will not forget the concepts. also good to practice after reading the concepts.

 

 

After that we could see the Trace is completed from PE5 to PE3

 

Ping initiated between PE5 and PE3 VPRN is successful.

 

 Next blog will try to push the policy via BGP to other routers.