Routing
Highlighted
Routing

Node segment label is not generated

[ Edited ]
‎05-16-2020 07:26 PM

Hi everybody,

I am trying to learn segment routing, I am using a simple lab to understand the concept:

MX1 ge0/0/0-------ge0/0/0 MX2

ge-0/0/2

|

|

ge0/0/2

MX3

The issue I observed, none of the routers above generate label for Node segment, they do generate Adjacney label .

All configs are pasted at the end under " Additional info"

 

As an example,  MX2 generates Adjaceny label but not Node segment label:

 

MX2>show ospf database extensive opaque-area advertising-router 10.100.100.2


OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
OpaqArea*7.0.0.1 10.100.100.2 0x80000001 1853 0x22 0xdd14 44
Opaque LSA
Extended Prefix (1), length 20:
Route Type (1), length 1:
1
Prefix Length (2), length 1:
32
AF (3), length 1:
0
Flags (4), length 1:
0x40
Prefix (5), length 32:
10.100.100.2
Prefix Sid (2), length 8:
Flags (1), length 1:
0x00
MT ID (2), length 1:
0
Algorithm (3), length 1:
0
SID (4), length 4:
2
Gen timer 00:16:02
Aging timer 00:29:06
Installed 00:30:53 ago, expires in 00:29:07, sent 00:30:53 ago

Last changed 00:30:53 ago, Change count: 1, Ours, TE Link ID: 0
OpaqArea*8.0.0.1 10.100.100.2 0x80000001 1713 0x22 0x93b8 52
Opaque LSA
Extended Link (1), length 28:
Link Type (1), length 1:
2
Link Id (2), length 4:
10.100.12.2
Link Data (3), length 4:
10.100.12.2
Lan Adjacency Sid (3), length 11:
Flags (1), length 1:
0x60
MT ID (2), length 1:
0
Weight (3), length 1:
0
Neighbor ID (4), length 4:
10.100.100.1
Label (4), length 3:
299776
Gen timer 00:21:27
Aging timer 00:31:27
Installed 00:28:33 ago, expires in 00:31:27, sent 00:28:33 ago
Last changed 00:28:33 ago, Change count: 1, Ours, TE Link ID: 0

 

What am I missing again:) ?

Thanks and have a good weekend!!

 

######################################################

Additional info:

## MX1##

set version 20191212.201431_builder.r1074901
set system host-name vMX1
set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 10.100.12.1/24
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 10.100.13.1/24
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.100.100.1/32
set interfaces lo0 unit 0 family mpls

set protocols ospf source-packet-routing node-segment ipv4-index 1
set protocols ospf source-packet-routing srgb start-label 1000
set protocols ospf source-packet-routing srgb index-range 9000
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0
set protocols ospf area 0.0.0.0 interface lo0.0
set protocols mpls traffic-engineering
set protocols mpls interface all


## MX2##
set system host-name vMX2
set system root-authentication encrypted-password "$6$w0uV/Veg
set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 10.100.12.2/24
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.100.100.2/32
set interfaces lo0 unit 0 family mpls
set protocols ospf source-packet-routing node-segment ipv4-index 2
set protocols ospf source-packet-routing srgb start-label 1000
set protocols ospf source-packet-routing srgb index-range 9000
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface lo0.0
set protocols mpls traffic-engineering
set protocols mpls interface all

## MX3##

set version 20191212.201431_builder.r1074901
set system host-name vMX3
set chassis network-services enhanced-ip
set interfaces ge-0/0/2 unit 0 family inet address 10.100.13.2/24
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.100.100.3/32
set interfaces lo0 unit 0 family mpls
set routing-options static route 0.0.0.0/0 next-hop 100.123.0.1
set protocols ospf source-packet-routing node-segment ipv4-index 3
set protocols ospf source-packet-routing srgb start-label 1000
set protocols ospf source-packet-routing srgb index-range 9000
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0
set protocols ospf area 0.0.0.0 interface lo0.0
set protocols mpls traffic-engineering
set protocols mpls interface all

 

 

 

 

 

4 REPLIES 4
Highlighted
Routing
Solution
Accepted by topic author sarahr202
‎05-17-2020 02:56 PM

Re: Node segment label is not generated

[ Edited ]
‎05-16-2020 09:21 PM

Hello,

Node SID is not "generated" because it is advertised as index in accordance with RFC 8665 section 3.2 and section 5  https://tools.ietf.org/html/rfc8665 :

 

Prefix-SIDs MAY be advertised in the form of an index as described in
   Section 5.  

 

 

and

 

 

   The Prefix-SID Sub-TLV is a sub-TLV of the OSPF Extended Prefix TLV
   described in [RFC7684] and the OSPF Extended Prefix Range TLV
   described in Section 4.  It MAY appear more than once in the parent
   TLV and has the following format:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Type             |             Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Flags    |   Reserved    |      MT-ID    |    Algorithm  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     SID/Index/Label (variable)                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

And You have it there in Your printout:

 


@sarahr202 wrote:

 

MX2>show ospf database extensive opaque-area advertising-router 10.100.100.2


OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
OpaqArea*7.0.0.1 10.100.100.2 0x80000001 1853 0x22 0xdd14 44
Opaque LSA
Extended Prefix (1), length 20:
Route Type (1), length 1:
1
Prefix Length (2), length 1:
32
AF (3), length 1:
0
Flags (4), length 1:
0x40
Prefix (5), length 32:
10.100.100.2
Prefix Sid (2), length 8:
Flags (1), length 1:
0x00
MT ID (2), length 1:
0
Algorithm (3), length 1:
0
SID (4), length 4:
2   <========= this is the index

 

To see it converted into a label, use command "show route table inet.3 10.100.100.2" on a different router which is 2 hops away from MX2;

or

on MX2, use  command "show route table mpls.0 label 1002"

 

Finally, JUNOS allocates Adj labels not from SRGB but from dynamic label space by default, hence Adj labels are shown as "labels" and not as index.  

 

HTH

Thx

Alex

_____________________________________________________________________

Please ask Your Juniper account team about Juniper Professional Services offerings.
Juniper PS can design, test & build the network/part of the network as per Your requirements

+++++++++++++++++++++++++++++++++++++++++++++

Accept as Solution = cool !
Accept as Solution+Kudo = You are a Star !
Highlighted
Routing

Re: Node segment label is not generated

[ Edited ]
‎05-17-2020 03:16 PM

Thanks Alex  for clarifying this for me.

In order to generate a label for SID, a node needs to know srgb start value.

Example:

 

MX1-------MX2---------MX3

MX1: index1, srgb start value 1000

MX2: index 2, srgb start value 1000

MX3 : index 3 Srgb start value 1000

Let say MX1 wants to send traffic to MX3 using NODE SID . In order to do that,  MX1 needs to figure out what label MX2 expects for MX3. MX1 calculates this label as follows:

Index of MX3 ( as advertsied by MX3 in LSA)+ Srgb start value 1000 ( as advertised by MX2 in LSA) so

3+1000=1003, 

I can see  SRGB start value in ISIS data base, but I do do not see that in OSPF data base.

As an example from Day one book ( Segment routing )

lab@R2> show isis overview | no-more
Instance: master
Router ID: 192.168.0.2
Hostname: R2
Sysid: 1921.6800.0002
Areaid: 49.0000
Adjacency holddown: enabled
Maximum Areas: 3
LSP life time: 65535
Reference bandwidth: 1000000000000
Attached bit evaluation: enabled
SPF delay: 50 msec, SPF holddown: 2000 msec, SPF rapid runs: 5
Overload bit at startup is set
Overload high metrics: disabled
Allow route leaking: disabled
Overload timeout: 300 sec
IPv4 is enabled, IPv6 is enabled, SPRING based MPLS is enabled
Traffic engineering: enabled
Restart: Disabled
Helper mode: Enabled
Layer2-map: Disabled
Source Packet Routing (SPRING): Enabled
SRGB Config Range:
SRGB Start-Label : 1000, SRGB Index-Range : 9000
SRGB Block Allocation: Success
SRGB Start Index : 1000, SRGB Size : 9000, Label-Range: [ 1000, 9999 ]
Node Segments: Enabled
Ipv4 Index : 402, Ipv6 Index : 602
Post Convergence Backup: Disabled

 

Where is SRGB start label in LSDB in OSPF? 

 

Thanks and have a good weekend!!

 

Highlighted
Routing

Re: Node segment label is not generated

[ Edited ]
‎05-17-2020 07:43 PM

Hello,

 


@sarahr202 wrote:

 

Where is SRGB start label in LSDB in OSPF? 

 

 


 

It is there , just not in the same LSA as NodeSID/Prefix-SID:

 

 

regress@R5> show ospf database opaque-area extensive advertising-router 198.51.100.3 | no-more 

    OSPF database, Area 0.0.0.0
 Type       ID               Adv Rtr           Seq      Age  Opt  Cksum  Len 
OpaqArea 4.0.0.0          198.51.100.3     0x80000001   399  0x22 0x2146  44
Opaque LSA
  SR-Algorithm (8), length 1:
    Algo (1), length 1:
        0
  SID/Label Range (9), length 12:
    Range Size (1), length 3:
        9000
    SID/Label (1), length 3:
      Label (1), length 3:
        1000
  Aging timer 00:53:21
  Installed 00:05:58 ago, expires in 00:53:21
  Last changed 00:05:58 ago, Change count: 1
OpaqArea 7.0.0.1          198.51.100.3     0x80000003   354  0x22 0x9640  44
Opaque LSA
  Extended Prefix (1), length 20:
      Route Type (1), length 1:
        1
      Prefix Length (2), length 1:
        32
      AF (3), length 1:
        0
      Flags (4),  length 1:
        0x40
      Prefix (5), length 32:
        198.51.100.3
      Prefix Sid (2), length 8:
       Flags (1), length 1:
        0x00
       MT ID (2), length 1:
        0
       Algorithm (3), length 1:
        0
       SID (4), length 4:
        2
  Aging timer 00:54:06
  Installed 00:05:51 ago, expires in 00:54:06
  Last changed 00:05:58 ago, Change count: 1
OpaqArea 8.0.0.1          198.51.100.3     0x80000002   354  0x22 0x1c04  52
Opaque LSA
  Extended Link (1), length 28:
    Link Type (1), length 1:
     2
     Link Id (2), length 4:
     169.254.35.0
     Link Data (3), length 4:
     169.254.35.0
    Lan Adjacency Sid (3), length 11:
        Flags (1), length 1:
          0x60
        MT ID (2), length 1:
           0
        Weight (3), length 1:
           0
        Neighbor ID (4), length 4:
          198.51.100.5
        Label (4), length 3:
          265
  Aging timer 00:54:06
  Installed 00:05:51 ago, expires in 00:54:06
  Last changed 00:05:56 ago, Change count: 1

 

 

According to RFC 8665 https://tools.ietf.org/html/rfc8665 :

 

 

The SID/Label Range TLV is a top-level TLV of the Router Information
Opaque LSA (defined in [RFC7770]).

 

whereas

 

   The Prefix-SID Sub-TLV is a sub-TLV of the OSPF Extended Prefix TLV
   described in [RFC7684] and the OSPF Extended Prefix Range TLV
   described in Section 4. 

 

 

and according to  https://tools.ietf.org/html/rfc7684

 

 

OSPFv2 Extended Prefix TLV - Top-level TLV advertising attributes
       for a prefix in the OSPFv2 Extended Prefix Opaque LSA.

 

 

HTH

Thx

Alex

_____________________________________________________________________

Please ask Your Juniper account team about Juniper Professional Services offerings.
Juniper PS can design, test & build the network/part of the network as per Your requirements

+++++++++++++++++++++++++++++++++++++++++++++

Accept as Solution = cool !
Accept as Solution+Kudo = You are a Star !
Highlighted
Routing

Re: Node segment label is not generated

‎05-17-2020 08:17 PM

Thank you so much !!

Feedback