Hi all,

I tend to agree with Ketan.

From an OPS standpoint, we need to make it clear in the spec which one takes 
precedence and have guards to prevent conflicting instructions.

Cheers,
Med

De : Ketan Talaulikar <ketant.i...@gmail.com>
Envoyé : mardi 1 avril 2025 19:40
À : Acee Lindem <acee.i...@gmail.com>
Cc : The IESG <i...@ietf.org>; draft-ietf-ospf-sr-y...@ietf.org; 
lsr-cha...@ietf.org; lsr <lsr@ietf.org>; Christian Hopps <cho...@chopps.org>
Objet : Re: Ketan Talaulikar's Discuss on draft-ietf-ospf-sr-yang-37: (with 
DISCUSS and COMMENT)


Hi Acee,

The area-level will control the origination of the SR information in the 
area-scoped RI LSAs (SR algo, SRGB, etc.) without that the interface enablement 
will not amount to much really. Practically, the area enablement is more 
significant IMHO - when enabled, it can be also enabled for all interfaces in 
that area (as in a hierarchical thing).

Thanks,
Ketan


On Tue, Apr 1, 2025 at 11:05 PM Acee Lindem 
<acee.i...@gmail.com<mailto:acee.i...@gmail.com>> wrote:
Hi Ketan,

> On Apr 1, 2025, at 1:10 PM, Ketan Talaulikar 
> <ketant.i...@gmail.com<mailto:ketant.i...@gmail.com>> wrote:
>
> Hi Acee,
>
> Thanks for your quick response and please check inline below.
>
>
> On Tue, Apr 1, 2025 at 10:19 PM Acee Lindem 
> <acee.i...@gmail.com<mailto:acee.i...@gmail.com>> wrote:
> Hi Ketan,
>
> As with the other AD comments, I respond to the DISCUSS-level comments first.
>
>
> > On Apr 1, 2025, at 10:57 AM, Ketan Talaulikar via Datatracker 
> > <nore...@ietf.org<mailto:nore...@ietf.org>> wrote:
> >
> > Ketan Talaulikar has entered the following ballot position for
> > draft-ietf-ospf-sr-yang-37: Discuss
> >
> > When responding, please keep the subject line intact and reply to all
> > email addresses included in the To and CC lines. (Feel free to cut this
> > introductory paragraph, however.
> > Please refer to 
> > https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/
> > for more information about how to handle DISCUSS and COMMENT positions.
> >
> >
> > The document, along with other ballot positions, can be found here:
> > https://datatracker.ietf.org/doc/draft-ietf-ospf-sr-yang/
> >
> >
> >
> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> >
> > A couple of points for discussion:
> >
> > <discuss-1> I see the following in the Appendix B:
> >
> > 1833    augment /rt:routing/rt:control-plane-protocols
> > 1834             /rt:control-plane-protocol/ospf:ospf:
> > 1835     +--rw segment-routing
> > 1836     |  +--rw enabled?    boolean
> > 1837     |  +--rw bindings {mapping-server}?
> > 1838     |     +--rw advertise
> > 1839     |     |  +--rw policies*   leafref
> > 1840     |     +--rw receive?     boolean
> > 1841     +--rw protocol-srgb {sr-mpls:protocol-srgb}?
> > 1842        +--rw srgb* [lower-bound upper-bound]
> > 1843           +--rw lower-bound    uint32
> > 1844           +--rw upper-bound    uint32
> >
> > But I am not able to find these augmentations in the model itself. Am I
> > missing something? YANG is not my forte. I am unable to find this across
> > modules and wanted to cross-check.
>
> This is imported from the ietf-segment-routing-mpls YANG module. Hopefully, 
> you're at least using a modern mailer viewer. See the line in red below or 
> look for "uses sr-mpls.sr-control-plane".
>
> KT> Got it. Thanks. I hope my eyesight for YANG models improves as I work 
> through this gig.
>
>
>  augment "/rt:routing/rt:control-plane-protocols"
>         + "/rt:control-plane-protocol/ospf:ospf" {
>     when "derived-from(/rt:routing/rt:control-plane-protocols/"
>        + "rt:control-plane-protocol/rt:type, 'ospf:ospf')" {
>       description
>         "This augments the OSPF routing protocol when used.";
>     }
>     description
>       "This augments the OSPF protocol configuration with segment
>        routing for the MPLS data plane. The following semantic
>        validation be performed for the configuration data:
>         - Assure the binding policies prefixes do not overlapp.";
>     reference
>       "RFC 9020 - YANG Data Model for Segment Routing";
>     uses sr-mpls:sr-control-plane;
>     container protocol-srgb {
>       if-feature "sr-mpls:protocol-srgb";
>       uses sr-cmn:srgb;
>       description
>         "Per-protocol SRGB.";
>     }
>  }
>
>
> >
> > Also, I am not able to find the RW (config) options for enabling (with a 
> > bool)
> > SR-MPLS for a specific OSPF area, or interface in the model. Have I missed
> > this as well? If it is not covered, was this discussed during the 
> > development
> > of this model in the WG?
>
> This isn't there. As one of the most active members of the LSR WG (in terms 
> of drafts), why is this the first time you are looking at this? I guess you 
> are ashamed 😎
>
> KT> Yes, I am ashamed :-( ... no excuses to offer!
>   Please provide the semantics of these parameters and the co-authors will 
> consider - you don't need to be a YANG expert to provide this.
>
> KT> Please check if the "enabled" option for SR-MPLS can be provided under 
> the area-level so as to control enablement in specific portions of an OSPF 
> network. It was something that was helpful in the early days of SR. Same 
> applies for ISIS as well. That said, this is not something that qualifies as 
> a DISCUSS if not taken up in this document.

I found what was intended for interfaces in ietf-segment-routing-mpls.yang - I 
will add augmentations to ietf-ospf-sr-mpls module. I am ashamed 😎

So, at the area level it is a simply boolean? What if SR is not enabled in any 
interfaces in the area and it is enabled at the top level? Similarly, what if 
it is enabled on interfaces but not enabled at the area level? Should this be 
prevented? In other words, what is intended here?

Thanks,
Acee




>
>
>
> >
> > <discuss-2> I see that the model defines grouping for 
> > ospfv3-adj-sid-sub-tlvs
> > but not for OSPFv2 for the same thing (it is modeled directly as a 
> > container).
> > I would like to understand why so?
>
> Because OSPFv3 is fundamentally different in that the extensions are whole 
> contained in OSPFv3 E-LSAs and in OSPFv2 they are advertised in the ancillary 
> OSPFv2 Extended Prefix LSA.
>
> KT> Sure. However, the same applies to prefix SID as well which is modeled as 
> a grouping for both OSPFv2 and v3. However, adj SID is modeled as a grouping 
> only for OSPFv3. In other words, why not define "grouping 
> ospfv2-adj-sid-sub-tlvs" and included it with "uses" under the following 
> augment for OSPFv2
>
> augment "/rt:routing/"
> + "rt:control-plane-protocols/rt:control-plane-protocol/"
> + "ospf:ospf/ospf:areas/"
> + "ospf:area/ospf:database/"
> + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/"
> + "ospf:area-scope-lsa/ospf:version/ospf:ospfv2/"
> + "ospf:ospfv2/ospf:body/ospf:opaque/"
> + "ospf:extended-link-opaque/ospf:extended-link-tlv" {
> when "derived-from(/rt:routing/rt:control-plane-protocols/"
> + "rt:control-plane-protocol/rt:type, 'ospf:ospfv2')" {
> description
> "This augmentation is only valid for OSPFv2.";
> }
>  Am I missing something here?
>
> Thanks,
> Ketan
>
>
> OSPFv3 with Extended LSAs (RFC 8362) is superior to both IS-IS and OSPFv2 and 
> it is unfortunate that vendor politics have delayed its adoption as the 
> irrefutable next-generation IGP.
>
> Thanks,
> Acee
>
>
>
>
> >
> >
> > ----------------------------------------------------------------------
> > COMMENT:
> > ----------------------------------------------------------------------
> >
> > Please find below some comments that are in the idnits output of v37:
> >
> >
> > 91 2.  OSPF Segment Routing YANG Data Module Scope
> >
> > 93   This document defines a model for OSPF Segment Routing Extensions for
> > 94   both OSPFv2 [RFC8665] and OSPFv3 [RFC8666].
> >
> > <major> ... for the MPLS data plane.
> >
> > 96   The OSPF SR YANG module requires support for the base segment routing
> > 97   module [RFC9020], which defines the global segment routing
> > 98   configuration independent of any specific routing protocol
> > 99   configuration, and support of OSPF base model [RFC9129] which defines
> > 100   basic OSPF configuration and state.
> >
> > 102   The ietf-ospf-sr-mpls data module defines both the data nodes to
> > 103   configure OSPF segment routing MPLS extensions and the additions to
> > 104   the OSPF Link State Advertisements (LSAs) necessary to support MPLS
> > 105   segment routing.  The OSPF configuration includes:
> >
> > <minor> s/MPLS segment routing/SR-MPLS
> >
> >
> > 156   *  OSPFv3 Adj-SID Sub-TLV in the OSPFv3 Router-Link TLV [RFC8362].
> >
> > 158   *  OSPFv3 Adj-SID Sub-TLV in the OSPFv3 Router-Link TLV [RFC8362].
> >
> > 160   *  OSPFv3 Lan Adj-SID Sub-TLV in the OSPFv3 Router-Link TLV
> > 161      [RFC8362].
> >
> > <nit> s/Lan/LAN
> >
> > <minor> Please add [RFC8666] reference as well above for (LAN) Adj-SID
> > encodings
> >
> >
> > 418     /* Groupings */
> > 419     grouping sid-tlv-encoding {
> > 420       description
> > 421         "SID TLV Encoding -  20-bit label or 32-bit SID whose
> >
> > <minor> s/SID/SID index
> >
> > 422         interpretation is dependent on the TLV length (3 for an
> > 423         MPLS label or 4 for a 32-bit value)  or the TLV V-Flag and
> > 424         L-Flag settings:
> >
> > 426           If the  V-Flag is set to 0 and L-Flag is set to 0:
> > 427           The SID/Index/Label field is a 4-octet index defining
> > 428           the offset in the SID/Label space advertised by this
> > 429           router.
> >
> > 431           If V-Flag is set to 1 and L-Flag is set to 1: The
> > 432           ID/Index/Label field is a 3-octet local label where the
> > 433           20 rightmost bits are used for encoding the label value.";
> > 434       reference
> > 435         "RFC 8665: OSPF Extensions for Segment Routing, Section 5
> > 436          RFC 8666: OSPFv3 Extensions for Segment Routing, Section 3";
> > 437       leaf sid-raw {
> > 438         type uint32;
> > 439         description
> > 440           "Raw SID value - labels are in the rightmost 20 bits of
> > 441           the value";
> > 442       }
> > 443       choice sid-value {
> > 444         case label-sid {
> > 445           leaf label-value {
> > 446             type uint32 {
> > 447                 range "0 .. 1048575";
> > 448             }
> > 449             description
> > 450               "A 20-bit MPLS Label";
> > 451           }
> > 452         }
> > 453         case offset-sid {
> > 454           leaf offset-value {
> >
> > <major> I am not familiar of this "offset" term. What is used more often is
> > "index" since the value is an index into the (SRGB) label space advertised.
> > It is not an "offset" since SRGB may comprise of multiple non-contiguous
> > blocks - they need to be arrange in the order of advertisement to form a
> > single block and then this index is used to pick the label value. To me,
> > offset sounds more like something done in memory location that assume it to 
> > be
> > contiguous.
> > Suggest ...
> > s/label-sid/sid-label
> > s/offset-sid/sid-index ... s/offset-value/index-value
> >
> > 455             type uint32;
> > 456             description
> > 457               "Offset into a label space advertised by this router.";
> > 458           }
> > 459         }
> > 460         description
> > 461           "Choice of either a 20-bit MPLS lable or 32-bit offset into
> > 462            an advertised label space.";
> > 463       }
> > 464     }
> >
> >
> > 466     grouping sid-sub-tlv {
> > 467       description
> > 468         "SID/Label sub-TLV grouping.";
> > 469       reference
> > 470         "RFC 8665: OSPF Extensions for Segment Routing
> > 471          (Section 6)";
> >
> > KT> Reference should be section 2.1 of RFC8665?
> >
> > 472       container sid-sub-tlv {
> > 473         description
> > 474           "Used to advertise the SID/Label associated with a
> > 475            prefix or adjacency.";
> > 476         leaf length {
> > 477           type uint16;
> > 478           description
> > 479             "Length of the SID value. YANG model specification
> > 480              is necessary since it dictates the semantics of the
> > 481              SID.";
> > 482         }
> > 483         uses sid-tlv-encoding;
> > 484       }
> > 485     }
> >
> >
> > 602     grouping sid-range-tlvs {
> > 603       description
> > 604         "SID Range TLV grouping.";
> > 605       reference
> > 606         "RFC 8665: OSPF Extensions for Segment Routing
> > 607          (Section 3.2)";
> > 608       container sid-range-tlvs {
> > 609         description
> > 610           "List of SID range TLVs. Note that the order of advertised
> > 611            SID ranges is implementation dependent.";
> >
> > <major> Please update "Note that the order of advertised SID ranges is
> > implementation dependent." - the ordering is pretty important and MUST be as
> > per what has been received in the LSA on the wire. This is the SRGB.
> >
> > 612         list sid-range-tlv {
> > 613           description
> > 614             "SID range TLV.";
> > 615           leaf range-size {
> > 616             type rt-types:uint24;
> > 617             description
> > 618               "SID range.";
> > 619           }
> > 620           uses sid-sub-tlv;
> > 621         }
> > 622       }
> > 623     }
> >
> > 625     grouping local-block-tlvs {
> > 626       description
> > 627         "The SR local block TLV contains the
> > 628          range of labels reserved for local SIDs.";
> > 629       reference
> > 630         "RFC 8665: OSPF Extensions for Segment Routing
> > 631          (Section 3.3)";
> > 632       container local-block-tlvs {
> > 633         description
> > 634           "List of SRLB TLVs.";
> >
> > <major> Here too the ordering has to be as on the wire for SRLB - if similar
> > text is clarified above for SRGB.
> >
> > 635         list local-block-tlv {
> > 636           description
> > 637             "SRLB TLV.";
> > 638           leaf range-size {
> > 639             type rt-types:uint24;
> > 640             description
> > 641               "SID range. The return of a zero value would indicate
> > 642                an error.";
> > 643           }
> > 644           uses sid-sub-tlv;
> > 645         }
> > 646       }
> > 647     }
> >
> >
> > 1561   Author affiliation with The MITRE Corporation is provided for
> > 1562   identification purposes only, and is not intended to convey or imply
> > 1563   MITRE's concurrence with, or support for, the positions, opinions or
> > 1564   viewpoints expressed.  MITRE has approved this document for Public
> > 1565   Release, Distribution Unlimited, with Public Release Case Number
> > 1566   18-3281.
> >
> > <major> With the text above (which applies MITRE has some sort of an 
> > approval
> > authority over this document), it seems more appropriate for this author to 
> > drop
> > their MITRE Corporation affiliation.
> >
> >
> >
>
____________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.
Thank you.
_______________________________________________
Lsr mailing list -- lsr@ietf.org
To unsubscribe send an email to lsr-le...@ietf.org

Reply via email to