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> wrote:

> Hi Ketan,
>
> > On Apr 1, 2025, at 1:10 PM, Ketan Talaulikar <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> 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> 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.
> > >
> > >
> > >
> >
>
>
_______________________________________________
Lsr mailing list -- lsr@ietf.org
To unsubscribe send an email to lsr-le...@ietf.org

Reply via email to