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

From: Boris Hassanov <[email-masked]>
Date: Fri, 20 Aug 2021 16:35:18 +0000 (UTC)

Hi Ketan,
Sorry for delay with reply, I decided to postpone it after IETF-111.
Let's return back to Anycast SID. I carefully read RFC 9085 section 2.3.2 and cannot see there Anycast flag at all ( may be I missed it somewhere):" Flags: a variable-length Flag field (according to the Length field).      Flags are routing protocol specific and are to be set as below:

      *  IS-IS flags correspond to the IPv4/IPv6 Extended Reachability
         Attribute Flags defined in Section 2.1 of [RFC7794].  In the
         case of the X-flag when associated with IPv6 prefix
         reachability, the setting corresponds to the setting of the
         X-flag in the fixed format of IS-IS TLVs 236 [RFC5308] and 237
         [RFC5120].

      *  OSPFv2 flags correspond to the Flags field of the OSPFv2
         Extended Prefix TLV defined in Section 2.1 of [RFC7684].

      *  OSPFv3 flags map to the Prefix Options field defined in
         Appendix A.4.1.1 of [RFC5340] and extended in Section 3.1 of
         [RFC8362]."

Those IS-IS and OSPF flags are only define N-flag (Node flag in RFC 7794 and RFC 7684 section 2.1).  So looks that Anycast flag is missing there.
So my question  is still the same -  how can we (besides topology learning tricks) explicitly distinguish it from Node SID without Anycast flag?
Thank you.

SY,Boris

 On Thursday, July 22, 2021, 11:44:05 AM GMT+3, Ketan Talaulikar (ketant) <ketant=[email-masked]> wrote:  

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,

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?
 
[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 TLVhttps://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.

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?
 
[KT] The SID/Label TLV (1161) is used as a sub-TLV of SR Capabilities and SRLB TLVs as indicated herehttps://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

    _______________________________________________
Idr mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/idr