Mahesh Jethanandani has entered the following ballot position for
draft-ietf-lsr-l2-bundle-member-remote-id-09: No Objection

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-lsr-l2-bundle-member-remote-id/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Thanks to the authors for a short, focused extension. -09 is much
tighter than -06, after it was reviewed by Gunter. I've tried not
to repeat points already on the ballot.

Section 8, Operational Considerations:

480 >    Implementations MUST NOT enable the advertisement of the L2 Bundle
481 >    Member Interface Remote Identifier sub-TLV by default and MUST
482 >    provide a configuration option to enable its advertisement on
483 >    specific links.

This copies the first sentence of RFC 9356 Section 5 but drops the
second, which points to the OSPF YANG model (RFC 9129) and says the
needed configuration and operational elements are expected to come as
an augmentation. That pointer belongs here too, and arguably matters
more. Section 7 now leaves configuration as the only deterministic way
to get the remote identifier. The document therefore introduces a
per-link enable knob, possibly per-member remote-identifier
configuration, and validation state that an operator will want to read.
I'd ask the authors to say how these are expected to be modeled (RFC
9129 for OSPF, RFC 9130 for IS-IS), even if the augmentation lives in a
separate document.

The authors might also look at draft-ietf-opsawg-rfc5706bis while
they're in this section. With manual configuration, a few practical
questions come up. What happens to configured remote identifiers when
the neighbor reboots and reassigns its local identifiers? How are
mismatches reported? How does an operator tell "not configured" apart
from "configured but wrong"? A few sentences on each would help
deployers.

---

Section 3, illustrative text vs. Section 3.2 MUST:

172 >    The descriptions in this section are intended to be illustrative and
173 >    are not meant to be normative.

207 >    advertised as follows.  Note that IS-IS can advertise a set of
208 >    members in a single L2 Bundle Attribute Descriptor, so the L2 Bundle
209 >    Member Interface Remote Identifier sub-TLV MUST carry multiple remote
210 >    interface identifiers, one for each bundle member advertised in the
211 >    associated L2 Bundle Member Descriptor.

Section 3 says it's illustrative, then Section 3.2 has a MUST. The same
requirement is already stated normatively in Section 5 (line 319). I
would drop the BCP 14 keyword here. Also, line 211 should say "L2
Bundle Attribute Descriptor", not "L2 Bundle Member Descriptor". A
Member Descriptor is a single 4-octet identifier.

---

Section 5, relationship to RFC 8668 shared-attribute rules:

336 >    The L2 Bundle Member Interface Remote Identifier sub-TLV MUST NOT
337 >    appear more than once within the sub-TLV set of a single L2 Bundle
338 >    Attribute Descriptor.  If multiple instances of this sub-TLV are
339 >    received within the same L2 Bundle Attribute Descriptor (e.g., during
340 >    transient conditions), implementations MUST use the first occurrence
341 >    in the lowest numbered Link State Protocol Data Unit (LSP) fragment
342 >    and ignore subsequent occurrences.

RFC 8668 Section 3.2 says every sub-TLV in the neighbor registry is a
"shared attribute" sub-TLV unless specified otherwise, and that if
multiple copies of a shared sub-TLV appear, all copies MUST be ignored.
The new sub-TLV is clearly per-member, like the L2 Bundle Member Adj-SID
sub-TLVs in RFC 8668 Section 4. The IANA request in Section 10 marks
the TLV 25 column as "y" rather than "y(s)", which, per the registry
note, means the sub-TLV may appear in TLV 25 but is not shared across
members. Even so, the body text should say
explicitly that this is not a shared-attribute sub-TLV. That tells the
reader why the "use the first" rule here differs from RFC 8668's
"ignore all" rule.

I also don't follow the "lowest numbered LSP fragment" wording. An L2
Bundle Attribute Descriptor sits inside a single TLV 25, which sits in
a single fragment, so duplicates within one descriptor are always in
the same fragment. Is there a cross-fragment case the authors have in
mind, such as the same member appearing in descriptors in different
TLV 25 instances? If so, that case deserves its own rule. If not, the
fragment clause can go.

---

Section 6, BGP-LS error handling:

419 >    With respect to the roles defined in Section 3 of [RFC9552], a BGP-LS
420 >    Producer originates this sub-TLV as part of the BGP-LS Attribute of
421 >    the Link NLRI describing the parent L3 link, following the mapping
422 >    described above.  A BGP-LS Propagator does not perform semantic
423 >    validation of this sub-TLV and does not remove it due to semantic or
424 >    syntactic length mismatches beyond the 'Attribute Discard' fault
425 >    handling defined in Section 8.2.2 of [RFC9552].

I read this several times and I'm still not sure what lines 423-425 are
saying. Unlike Section 4, Section 6 never states that Length must be 4
or what happens when it isn't. Under RFC 9552 Section 8.2.2, a speaker
that recognizes this sub-TLV and finds an invalid length treats the
whole BGP-LS Attribute as malformed and applies 'Attribute Discard'.
That drops every TLV in the attribute, not just this one. I would state
that consequence plainly. This also supports Med's point that RFC 9552
needs to be a normative reference.

---

Section 9, normative behavior in Security Considerations:

511 >    misdiagnose the scope of a failure.  To limit the impact of stale
512 >    information, an originator MUST NOT continue to advertise a remote
513 >    identifier that it knows to be no longer valid.

This is a protocol requirement, so it belongs in Section 7. "Knows" is
also doing a lot of work here. With configured values, the originator
generally has no signal that the value has gone stale, unless it runs
the reciprocity check described above. Tying this requirement to that
check would make it actionable.

---

Section 12.1, normative references:

489 >    considerations of [RFC8668], [RFC9356], [RFC9552], [RFC9085] and
490 >    [RFC9086] are applicable to this document.  In addition, the

RFC 9086 (BGP-LS EPE) is now cited only here. It looks like a leftover
from the "Peer Adj Link" text that was removed after Gunter's review.
Nothing in -09 uses EPE, so I would drop it. Similarly, IEEE 802.1AX is
listed as normative, but -09 uses it only as an example of a bundle
technology and of a possible discovery aid, with acquisition out of
scope. Informative seems right, consistent with how IEEE 802.1AB is
treated.

----------------------------------------------------------------------
NIT
----------------------------------------------------------------------

All comments below are about very minor potential issues that you may
choose to address in some way - or ignore - as you see fit. Some were
flagged by automated tools (via
https://github.com/larseggert/ietf-reviewtool), so there will likely
be some false positives. There is no need to let me know what you did
with these suggestions.

Abstract:

20 >    bundle members for traffic engineering (TE) purposes.  This document
21 >    describes how Open Shortest Path First (OSPF) and Intermediate System
22 >    to Intermediate System (IS-IS) would advertise the remote interface

s/would advertise/advertise/

---

Section 2, Use Case:

141 >    ends.  So, there would be requirements for the controller to figure
142 >    out the connectivity relationships between bundle members.

s/So, there would be requirements for the controller to figure out/The
controller therefore needs to determine/

---

Section 3.2, IS-IS figure:

218 >        L2 Bundle Member Link Local Identifiers of Member #1,#2,...,#n
219 >        sub-TLV(s)

As laid out, this reads as if the link local identifiers are sub-TLVs.
Putting "Sub-TLV(s)" on its own line would avoid that.

---

Sections 4, 5, 6 and 10, code points:

260 >    |          Type (TBA)           |           Length (4)          |

Michael Richardson suggested distinct placeholders during the RTGDIR
review, and Les and Tom Petch agreed on the list. That change hasn't
landed yet. Using TBA1 through TBA4 in both the bodies and Section 10
would make IANA's job unambiguous.

---

Section 10, OSPFv3 registry:

562 >    This document adds the following new sub-TLV to the "OSPFv3 Extended-
563 >    LSA Sub-TLVs" registry.  In this registry, the "L2BM" column has an
564 >    additional value "X", which indicates that a sub-TLV is not a sub-TLV
565 >    of the Router-Link TLV and MUST NOT appear within the L2 Bundle
566 >    Member Attributes sub-TLV.

The explanation of "X" isn't needed, since the value requested is "Y".

---

Section 11, Acknowledgements:

s/Gunter van de Velde/Gunter Van de Velde/
s/Secdir review/SECDIR review/



_______________________________________________
Lsr mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to