Subject: [Idr] Few questions about Segment Routing extensions for BGP LS (draft-ietf-idr-bgp-ls-segment-routing-ext)

From: Boris Hassanov <[email-masked]>
Date: Wed, 21 Jul 2021 09:54:42 +0000 (UTC)

Hi all,
1) Need an advice, I might be missing something but I see that Anycasi SID (3333 in the example below)  is in BGP-LS update as regular Prefix SID TLV: Path Attribute - BGP-LS Attribute
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: BGP-LS Attribute (29)
            Length: 12
            Link State
                Prefix SID TLV
                    Type: 1158
                    Length: 8
                    Flags: 0x40, Node-SID (N)
                        0... .... = Re-advertisement (R): Not set
                        .1.. .... = Node-SID (N): Set
                        ..0. .... = No-PHP (P): Not set
                        ...0 .... = Explicit-Null (E): Not set
                        .... 0... = Value (V): Not set
                        .... .0.. = Local (L): Not set
                    Algorithm: 0
                    SID/Index: 3333
Here is confusion, how, let's say, a controller, which receives such BGP-LS update, could  distinguish it from regular Prefix/Node SID?
Unfortunately draft-ietf-idr-bgp-ls-segment-routing-ext-18 does not clarify this issue because it only describes Prefix SID TLV type 1158. Any suggestions?
2)  draft-ietf-idr-bgp-ls-segment-routing-ext-18 has two types of labels TLV: SID/Label TLV type 1161 and Prefix SID  TLV type 1158.  I checked several vendors implementations of BGP-LS, all of them use only Prefix SID TLV.Why the draft does not have some conditions or clarifications when to use SID/Label TLV and when Prefix SID TLV?
Thank you.
SY,Boris

---

From: Robert Raszuk <[email-masked]>
Date: Wed, 21 Jul 2021 13:19:43 +0200

Boris,

IMO Anycast SID is a Prefix SID. Just like anycast address is an IPv4 or
IPv6 address. What makes it an anycast is the fact that it is advertised
from more then one node. So anycast in IP or SR is a deployment construct.

In other words node advertising it may have no clue that it is anycast. And
the moment other nodes from the anycast group stop advertising it - is it
no longer anycast.

To your other question it is my understanding that you use SID/Label TLV
when you have SR-MPLS, and for SRv6 you use Prefix SID TLV.

Best,
R.

On Wed, Jul 21, 2021 at 11:57 AM Boris Hassanov <bhassanov=
[email-masked]> wrote:

> Hi all,
>
> 1) Need an advice, I might be missing something but I see that Anycasi SID
> (3333 in the example below)  is in BGP-LS update as regular Prefix SID TLV:
>
>  Path Attribute - BGP-LS Attribute
> Here is confusion, how, let's say, a controller, which receives such
> BGP-LS update, could  distinguish it from regular Prefix/Node SID?
>
> Unfortunately draft-ietf-idr-bgp-ls-segment-routing-ext-18 does not
> clarify this issue because it only describes Prefix SID TLV type 1158. Any
> suggestions?
>
> 2)  draft-ietf-idr-bgp-ls-segment-routing-ext-18 has two types of labels
> TLV: SID/Label TLV type 1161 and Prefix SID  TLV type 1158.  I checked
> several vendors implementations of BGP-LS, all of them use only Prefix SID
> TLV.
> Why the draft does not have some conditions or clarifications when to use
> SID/Label TLV and when Prefix SID TLV?
>
> Thank you.
>
> SY,
> Boris
>
>
> _______________________________________________
> Idr mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/idr
>

---

From: Boris Hassanov <[email-masked]>
Date: Wed, 21 Jul 2021 12:22:46 +0000 (UTC)

Hi Robert,Glad to hear you. I do agree that Anycast SID is a subset of Prefix SID. I got your point that indirectly controller can realize that this is an Anycast SID  if he gets several identical Prefix SIDs  which do belong to many routers.But such approach creates additional burden on controller side (parsing and comparison those Prefix SID TLVs in many updates etc.) and might create wrong results in such interpretation.I would offer more direct and simpler way: one additional Sub-TLV for Prefix SID TLV , it could be called like Prefix SID differentiation sub-tlv, and will have some special values for Anycast SID, Prefix SID and may be others for future SIDs. Alternative way could be  extension of existing  Prefix Attribute Flags TLV by adding special Anycast flag there.
Regarding 2nd question, I checked  4 major vendors BGP-LS implementations in our lab with SR-MPLS and all of them do use only Prefix SID TLV for sending their Node SIDs. That was a reason for  my confusion about SID/Label TLV usage.
Thank you.
SY,Boris 

    On Wednesday, July 21, 2021, 02:20:24 PM GMT+3, Robert Raszuk <[email-masked]> wrote:  
 
 Boris,
IMO Anycast SID is a Prefix SID. Just like anycast address is an IPv4 or IPv6 address. What makes it an anycast is the fact that it is advertised from more then one node. So anycast in IP or SR is a deployment construct.
In other words node advertising it may have no clue that it is anycast. And the moment other nodes from the anycast group stop advertising it - is it no longer anycast. 
To your other question it is my understanding that you use SID/Label TLV when you have SR-MPLS, and for SRv6 you use Prefix SID TLV. 
Best,
R.
On Wed, Jul 21, 2021 at 11:57 AM Boris Hassanov <bhassanov=[email-masked]> wrote:

Hi all,

---

From: Robert Raszuk <[email-masked]>
Date: Wed, 21 Jul 2021 15:04:22 +0200

>
> Regarding 2nd question, I checked  4 major vendors BGP-LS implementations
> in our lab with SR-MPLS and all of them do use only Prefix SID TLV for
> sending their Node SIDs. That was a reason for  my confusion about
> SID/Label TLV usage
>

The easiest way to see this encoding in use would be to configure binding
SIDs.

Thx,
R.

---

From: Jeff Tantsura <[email-masked]>
Date: Wed, 21 Jul 2021 17:46:55 -0700

What Robert said.
What is the use case to treat Anycast SID differently than a regular Prefix
SID(which it is)?

On Wed, Jul 21, 2021 at 4:20 AM Robert Raszuk <[email-masked]> wrote:

> In other words node advertising it may have no clue that it is anycast.
> And the moment other nodes from the anycast group stop advertising it - is
> it no longer anycast.
>
>> 1) Need an advice, I might be missing something but I see that Anycasi
>> SID (3333 in the example below)  is in BGP-LS update as regular Prefix SID
>> TLV:
>>

---

From: "Wanghaibo (Rainsword)" <[email-masked]>
Date: Thu, 22 Jul 2021 08:12:20 +0000

Hi Boris,

2)  draft-ietf-idr-bgp-ls-segment-routing-ext-18 has two types of labels TLV: SID/Label TLV type 1161 and Prefix SID  TLV type 1158.  I checked several vendors implementations of BGP-LS, all of them use only Prefix SID TLV.

BGP-LS information come from ISIS or OSPF. The Prefix-SID can indicate a node. But there is no separate Node-SID defined now.

Regards,
Haibo

From: Idr [mailto:[email-masked]] On Behalf Of Boris Hassanov
Sent: Wednesday, July 21, 2021 5:55 PM
To: IDR List <[email-masked]>
Subject: [Idr] Few questions about Segment Routing extensions for BGP LS (draft-ietf-idr-bgp-ls-segment-routing-ext)

Hi all,

1) Need an advice, I might be missing something but I see that Anycasi SID (3333 in the example below)  is in BGP-LS update as regular Prefix SID TLV:

                .... 0000 = Unused: 0x0

            Length: 12

            Link State

                Prefix SID TLV

                    Type: 1158

                    Length: 8

                    Algorithm: 0

                    SID/Index: 3333

2)  draft-ietf-idr-bgp-ls-segment-routing-ext-18 has two types of labels TLV: SID/Label TLV type 1161 and Prefix SID  TLV type 1158.  I checked several vendors implementations of BGP-LS, all of them use only Prefix SID TLV.
Why the draft does not have some conditions or clarifications when to use SID/Label TLV and when Prefix SID TLV?

Thank you.

SY,
Boris

---

From: "Ketan Talaulikar (ketant)" <[email-masked]>
Date: Thu, 22 Jul 2021 08:43:23 +0000

Hi Boris,

Using your original email to respond instead of top-posting so I do not miss anything in your original query. This builds on top of the responses from Robert and Jeff with some more details.

Please check inline below.

From: Idr <[email-masked]> On Behalf Of Boris Hassanov
Sent: 21 July 2021 15:25
To: IDR List <[email-masked]>
Subject: [Idr] Few questions about Segment Routing extensions for BGP LS (draft-ietf-idr-bgp-ls-segment-routing-ext)

Hi all,

                .... 0000 = Unused: 0x0

            Length: 12

            Link State

                Prefix SID TLV

                    Type: 1158

                    Length: 8

                    Algorithm: 0

                    SID/Index: 3333

Here is confusion, how, let's say, a controller, which receives such BGP-LS update, could  distinguish it from regular Prefix/Node SID?
[KT] Node SID or Anycast SID are sub-sets of the Prefix SID and therefore both are advertised using the Prefix SID TLV. The way to distinguish them would be based on the flags in the Prefix Attribute Flags TLV https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-segment-routing-ext-18#section-2.3.2. It carries the Node and Anycast flags. Note that the Anycast flag was introduced very recently. The indication of Node flag surely eliminates the Prefix being Anycast – this is by definition. Of course, a prefix’s association with the Node or Anycast flag will depend on the accuracy of the router configuration by the operator. In the case of anycast, this can be verified by the controller using the network-wide topology.

2)  draft-ietf-idr-bgp-ls-segment-routing-ext-18 has two types of labels TLV: SID/Label TLV type 1161 and Prefix SID  TLV type 1158.  I checked several vendors implementations of BGP-LS, all of them use only Prefix SID TLV.
Why the draft does not have some conditions or clarifications when to use SID/Label TLV and when Prefix SID TLV?
[KT] The SID/Label TLV (1161) is used as a sub-TLV of SR Capabilities and SRLB TLVs as indicated here https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-segment-routing-ext-18#section-2.1.1. I am not sure why this would be mixed up with the Prefix SID TLV which is very different.

Thanks,
Ketan

Thank you.

SY,
Boris