Hi Chris,

You are 100% correct that today all specifications already define a set of
values which are necessary to recognize TLVs to be coming from the same
originator (originator can be a node_id or node_id+link_id etc ...).

What seems to be the crux of the matter here is that MP-TLV spec recommends
with normative MUST that a *subset* of those values (aka "keys") should be
used when fragmenting TLV into chunks and attach to each one of them. It is
this lack of definition on what is that *subset* which seems to be missing
here.

Intuitively, and I think this is highlighted in your and Les's responses
that *subset* is what makes the TLV unique ... so values like metric,
down/up bits etc ... would not be part of such *subsets*. The issue is that
this is nowhere defined.

So perhaps instead of asking to create a live document where such subsets
are explicitly enumerated for each TLV (which still may be useful and can
be done in no time as each IETF WG already have a wiki page) - for this
current topic maybe just define in the MP-TLV doc this *subset* as unique
set of elements used for identification and we will be done. (Even if for
folks working on ISIS for decades this is soooo obvious :).

Thx,
Robert

On Tue, Nov 12, 2024 at 10:29 AM Christian Hopps <[email protected]> wrote:

>
> Aijun,
>
> Key values are defined in existing RFCs, the actual use of the word "KEY"
> is not necessary to understand what the key data is. Sadly, this has had to
> be repeated over and over and over in this discussion to no affect.
>
> While reading the following text, please just consider regular IS-IS
> (i.e., the set of existing standards)
>
> If the key data wasn't already defined in the existing RFCs then each
> router would store exactly 0 or 1 of each TLV code point. You would have 0
> or 1 neighbor TLV, you would have 0 or 1 IP reachable prefix, etc.
>
> And IS-IS would be utterly broken as a protocol.
>
> So then ask yourself, how does IS-IS tell these TLVs apart? How do we
> support more than 1 neighbor already? Because we have *key* data in each
> TLV to identify each neighbor as different from the other!
>
> If the key data wasn't already defined and understood you literally
> couldn't have more than 1 of each of these TLVs in exiting IS-IS.
>
> [rhetorical] Do you believe that IS-IS currently only supports 1 neighbor,
> only 1 IPv4 prefix, only 1 IPv6 prefix?
>
> Nothing new is being introduced, no new "key"s are being defined, no new
> "keys" need to be defined. There can be no confusion on what the key data
> is or IS-IS would not work at all.
>
> Thanks,
> Chris.
> [as wg-member]
>
>
> "Aijun Wang" <[email protected]> writes:
>
> > Hi, Chris:
> >
> > I recommended you read carefully the arguments from Robert
> https://mailarchive.ietf.org/arch/msg/lsr/g6r1zwMfcmOPUoKMNYOMidvyqeA/
> >
> > And also to Les's statement: " But defining encodings that are already
> fully specified in existing RFCs is not in scope."--------we are arguing
> where in existing RFC gives the information "what constitute a key"?
> > WHERE?  We can limit only to TLV 22 and TLV135, as the examples in your
> document.
> >
> >
> > For your conveniences, I copied the original part(there is no any
> change) as the below:
> >
> > ============================Quote Start(Mail from Robert, Nov. 11,
> 2024)=========================================================
> > Les,
> >
> > I note that in all of these emails expressing concern no one has
> provided a
> >> single example
> >>
> >
> > RFC5305 defines Extended IS Reachability TLV as:
> >
> >    The proposed extended IS reachability TLV contains a new data
> >    structure, consisting of:
> >
> >       7 octets of system ID and pseudonode number
> >       3 octets of default metric
> >       1 octet of length of sub-TLVs
> >
> > Now your draft makes an impression that there are also at the TLV level
> > itself optional link identifiers.
> >
> > 4.1.  Example: Extended IS Reachability
> >
> >    As an example, consider the Extended IS Reachability TLV (type 22).
> >    A neighbor in this TLV is specified by:
> >
> >    *  7 octets of system ID and pseudonode number
> >
> >    *  3 octets of default metric
> >
> >    *  Optionally one or more of the following link identifiers:
> >
> >       -  IPv4 interface address and IPv4 neighbor address as specified
> >          in [RFC5305]
> >
> >       -  IPv6 interface address and IPv6 neighbor address as specified
> >          in [RFC6119]
> >
> >       -  Link Local/Remote Identifiers as specified in [RFC5307]
> >
> >
> > Can you point to the text in RFC5305 where such IPv4 link identifier is
> > defined ?
> >
> > I can only find them to be defined as part of sub-TLVs.
> >
> > Also I do not see them as LSDB keys in FRR ISIS code ...
> > Ref: https://github.com/FRRouting/frr/blob/master/isisd/isisd.c
> >
> > Thx,
> > R.
> > ========================= Quote End(Mail from Robert, Nov. 11,
> 2024)=============================================================
> >
> >
> >
> >
> > -----邮件原件-----
> > 发件人: [email protected] [mailto:[email protected]]
> 代表 Christian Hopps
> > 发送时间: 2024年11月12日 14:08
> > 收件人: Aijun Wang <[email protected]>
> > 抄送: Robert Raszuk <[email protected]>; Les Ginsberg (ginsberg) <
> [email protected]>; Acee Lindem <[email protected]>; Christian Hopps <
> [email protected]>; Mach Chen <[email protected]>;
> Routing ADs <[email protected]>; [email protected];
> [email protected]; lsr <[email protected]>; last-call <
> [email protected]>
> > 主题: [Lsr] Re: RtgDir Last Call Review: draft-ietf-lsr-multi-tlv-06
> >
> >
> > Aijun Wang <[email protected]> writes:
> >
> >> Hi, Robert:
> >>
> >> Fragments and Glue procedures is one normal, mature  process for any
> >> slicing application. We needn’t another document to standardize it
> >> again.
> >>
> >> The knob for the segmentation is the information “what concerns a
> >> key”, which is what you mentioned should be in one wiki like online
> >> form.
> >>
> >> If the LSR WG can formalize such “online form”, and this document
> >> refer to it for the future implementation and interoperability
> >> guarantee, then I can support its forwarding.
> >>
> >> BUT, it seems impossible to define explicitly such “online form”.
> >>
> >> And to Chris: if you think “what constitutes a key” is one well-known
> >> knob for vendors, why the document illustrate explicitly such
> >> information for TLV 22 and TLV 135?
> >>
> >> And how can you assure different vendors will use the same information
> >> for “what constitutes a key” for each IS-IS code point?
> >
> > Aijun,
> >
> > You have asked this many times and been answered repeatedly; however, I
> will answer it again, if only to make it clear to the folks reviewing the
> appeal.
> >
> > Please stop thinking about Multi-TLV for a minute.
> >
> > How does IS-IS tell one neighbor TLV (or whatever) from another -- in
> regular deployed IS-IS?
> >
> > That is the "key" data.
> >
> > The "key" data *has* to already be agreed upon by all implementations or
> regular IS-IS would not function -- it would literally not function. There
> is nothing new to define.
> >
> > Thanks,
> > Chris.
> >
> >>
> >> It’s better to answer such question clearly, reasonably than to
> >> declare in rush that document reaches the WG consensus.
> >>
> >>
> >> Aijun Wang
> >> China Telecom
> >>
> >>
> >>     On Nov 12, 2024, at 08:00, Robert Raszuk <[email protected]>
> >>     wrote:
> >>
> >>
> >>     Hi Aijun,
> >>
> >>     Let's make sure that my observation in respect to key elements
> >>     clarification for each TLV does not equal to the request to
> >>     "ABANDON" this useful document.
> >>
> >>     I do find the ability to fragment and glue TLVs as a useful
> >>     protocol extension. What should be sent in each fragment perhaps
> >>     is obvious to familgia of long time ISIS developers .. so my only
> >>     hint was to simply publish this in some online form.
> >>
> >>     Rgs,
> >>     Robert
> >>
> >>
> >>     On Tue, Nov 12, 2024 at 12:45 AM Aijun Wang <
> >>     [email protected]> wrote:
> >>
> >>         Hi, Robert and Mach:
> >>
> >>         Thanks for your comments on this document.
> >>         It reveals clearly the issues existing within the documents.
> >>
> >>         The Chairs declare repeatedly this document reached WG
> >>         consensus, apparently it DOESN’T.
> >>
> >>         I have submitted the appeal to IESG.
> >>         Wish more experts to stand out to ABANDON this error prone,
> >>         pitfall solution being published under the name of LSR, or
> >>         IETF.
> >>
> >>         Aijun Wang
> >>         China Telecom
> >>
> >>
> >>             On Nov 12, 2024, at 06:55, Robert Raszuk <
> >>             [email protected]> wrote:
> >>
> >>
> >>             Les,
> >>
> >>             >  Link identifiers are indeed sub-TLVs.
> >>             >  That does not disqualify them from being part of “key”
> >>             information.
> >>
> >>             Oh, it was not clear from the draft. Perhaps you can add
> >>             this detail in the next rev.
> >>
> >>             - - -
> >>
> >>             If you have multiple parallel links today they will all
> >>             be listed in the sub-TLVs - so they are ok spec wise
> >>             today.
> >>
> >>             I am not sure however - assuming you do not include
> >>             "Example" in section 4.1 that everyone would be adding
> >>             them to each TLV fragment.
> >>
> >>             // But then we have hackathons and interop venus where
> >>             interop bugs can be quickly found and fixed
> >>             // if this is how it should all work out.
> >>
> >>             That is why I do believe a sort of dictionary would be
> >>             nice to have in either a normative spec or reference to
> >>             such a document or even as a simple wiki page :).
> >>
> >>             Best,
> >>             Robert
> >>
> >>
> >>             On Mon, Nov 11, 2024 at 11:39 PM Les Ginsberg (ginsberg)
> >>             <[email protected]> wrote:
> >>
> >>
> >>                 Robert –
> >>
> >>
> >>
> >>                 Link identifiers are indeed sub-TLVs.
> >>
> >>                 That does not disqualify them from being part of
> >>                 “key” information.
> >>
> >>
> >>
> >>                 If I have multiple parallel links between two
> >>                 routers, this is how the links are uniquely
> >>                 identified. Such information is essential to
> >>                 correctly identify the link attribute information
> >>                 which in turn is essential for applications such as
> >>                 RSVP-TE, SR=TE, and flex-algo to operate correctly.
> >>
> >>
> >>
> >>                 If you think this is underspecified, I presume you
> >>                 think it is not possible for these applications to
> >>                 work correctly today – which obviously is not the
> >>                 case.
> >>
> >>
> >>
> >>                     Les
> >>
> >>
> >>
> >>                 From: Robert Raszuk <[email protected]>
> >>                 Sent: Monday, November 11, 2024 2:16 PM
> >>                 To: Les Ginsberg (ginsberg) <[email protected]>
> >>                 Cc: Acee Lindem <[email protected]>; Christian
> >>                 Hopps <[email protected]>; Mach Chen <mach.chen=
> >>                 [email protected]>; Routing ADs <
> >>                 [email protected]>; [email protected];
> >>                 [email protected]; lsr <
> >>                 [email protected]>; last-call <[email protected]>
> >>                 Subject: Re: [Lsr] RtgDir Last Call Review:
> >>                 draft-ietf-lsr-multi-tlv-06
> >>
> >>
> >>
> >>                 Les,
> >>
> >>
> >>
> >>                     I note that in all of these emails expressing
> >>                     concern no one has provided a single example
> >>
> >>
> >>
> >>                 RFC5305 defines Extended IS Reachability TLV as:
> >>
> >>
> >>
> >>                    The proposed extended IS reachability TLV contains
> >>                 a new data
> >>                    structure, consisting of:
> >>
> >>                       7 octets of system ID and pseudonode number
> >>                       3 octets of default metric
> >>                       1 octet of length of sub-TLVs
> >>
> >>
> >>
> >>                 Now your draft makes an impression that there are
> >>                 also at the TLV level itself optional link
> >>                 identifiers.
> >>
> >>
> >>
> >>                 4.1.  Example: Extended IS Reachability
> >>
> >>                    As an example, consider the Extended IS
> >>                 Reachability TLV (type 22).
> >>                    A neighbor in this TLV is specified by:
> >>
> >>                    *  7 octets of system ID and pseudonode number
> >>
> >>                    *  3 octets of default metric
> >>
> >>                    *  Optionally one or more of the following link
> >>                 identifiers:
> >>
> >>
> >>
> >>                       -  IPv4 interface address and IPv4 neighbor
> >>                 address as specified
> >>                          in [RFC5305]
> >>
> >>                       -  IPv6 interface address and IPv6 neighbor
> >>                 address as specified
> >>                          in [RFC6119]
> >>
> >>                       -  Link Local/Remote Identifiers as specified
> >>                 in [RFC5307]
> >>
> >>
> >>
> >>
> >>
> >>                 Can you point to the text in RFC5305 where such IPv4
> >>                 link identifier is defined ?
> >>
> >>
> >>
> >>                 I can only find them to be defined as part of
> >>                 sub-TLVs.
> >>
> >>
> >>
> >>                 Also I do not see them as LSDB keys in FRR ISIS code
> >>                 ...
> >>
> >>                 Ref: https://github.com/FRRouting/frr/blob/master/
> >>                 isisd/isisd.c
> >>
> >>
> >>
> >>                 Thx,
> >>
> >>                 R.
> >>
> >>
> >>
> >>                     From: Acee Lindem <[email protected]>
> >>                     Sent: Monday, November 11, 2024 1:42 PM
> >>                     To: Robert Raszuk <[email protected]>
> >>                     Cc: Christian Hopps <[email protected]>; Mach
> >>                     Chen <[email protected]>;
> >>                     Routing ADs <[email protected]>; [email protected];
> >>                     [email protected]; lsr <
> >>                     [email protected]>; last-call <[email protected]>
> >>                     Subject: Re: [Lsr] RtgDir Last Call Review:
> >>                     draft-ietf-lsr-multi-tlv-06
> >>
> >>
> >>
> >>                     Speaking as WG member:
> >>
> >>
> >>
> >>                         On Nov 11, 2024, at 15:21, Robert Raszuk <
> >>                         [email protected]> wrote:
> >>
> >>
> >>
> >>                         Dear Christian,
> >>
> >>
> >>
> >>                         Thank you for your answer. I remain educated
> >>                         that LSR WG born RFCs are only for those who
> >>                         implement protocol and have years of
> >>                         experience in doing so.
> >>
> >>
> >>
> >>                         I was obviously wrong thinking RFCs are
> >>                         designed to also help operators to run and
> >>                         troubleshoot network problems. Or maybe say
> >>                         wireshark or tcpdump developers to properly
> >>                         decode stuff which shows up on the wire ...
> >>
> >>
> >>
> >>                         And if this is so obvious, what is the
> >>                         problem for someone with such experience to
> >>                         sit down and write down a BCP
> >>                         dict listing what in his opinions should be
> >>                         used as a key for each TLV listed in section
> >>                         8.2 ? If done weeks before we would not have
> >>                         such discussion.
> >>
> >>
> >>
> >>                     If done correctly, this document would be
> >>                     welcomed. However, it should be a gating factor
> >>                     on specification of IS-IS MP-TLVs.
> >>
> >>
> >>
> >>                     Thanks,
> >>
> >>                     Acee
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>                         Kind regards,
> >>
> >>                         Robert
> >>
> >>
> >>
> >>                         On Mon, Nov 11, 2024 at 9:05 PM Christian
> >>                         Hopps <[email protected]> wrote:
> >>
> >>                             As was pointed out on the list, anyone
> >>                             implementing IS-IS knows exactly what a
> >>                             key is b/c it’s literally the value they
> >>                             use to differentiate TLVs from one
> >>                             another — IOW *A KEY VALUE*. You don’t
> >>                             consider 2 neighbor TLVs to be different
> >>                             neighbors (and allocate a neighbor
> >>                             structure to store in your DB of
> >>                             neighbors) based on the TLV metric value.
> >>                             This really is obvious when people stop
> >>                             treating the discussion as some
> >>                             abstraction which is again what people
> >>                             keep pointing out.
> >>
> >>                             Thanks,
> >>                             Chris.
> >>
> >>                             > On Nov 11, 2024, at 08:13, Robert
> >>                             Raszuk <[email protected]> wrote:
> >>                             >
> >>                             > Hi Chris,
> >>                             >
> >>                             > > The WG explicitly decided it was
> >>                             inappropriate to have this document
> >>                             re-define
> >>                             > > every "key" for every possible TLV as
> >>                             these "key" values are already defined
> >>                             > > by the documents that define the TLV;
> >>                             >
> >>                             > I have followed this discussion on the
> >>                             list.
> >>                             >
> >>                             > It seems to be as a side observer that
> >>                             folks questioning the WGLC and
> >>                             progressing the document do have a valid
> >>                             point.
> >>                             >
> >>                             > The document by its title and by
> >>                             section 8.2 creates an impression that it
> >>                             is a universal spec for all TLVs in
> >>                             respect how to implement MP-TLVs for
> >>                             them.
> >>                             >
> >>                             > Yet we clearly see from examples
> >>                             provided in sections 4.1 and 4.2 that
> >>                             what constitutes a "key" is TLV dependent
> >>                             and it is really cherry picked out of the
> >>                             number of values carried in a TLV.
> >>                             >
> >>                             > An example from section 4.1:  In TLV 22
> >>                             - 3 octets of def metric is skipped and
> >>                             not considered as a key
> >>                             >
> >>                             > An example from section 4.2: In TLV 135
> >>                             -  4 octets of metric information and two
> >>                             bits of control information octet are
> >>                             skipped and not considered as a key
> >>                             >
> >>                             > So if an implementer takes this
> >>                             document and attempts to write up MP-TLV
> >>                             how is he going to figure out which
> >>                             values for all other listed TLVs in 8.2
> >>                             constitute a key and which not ?
> >>                             >
> >>                             > IMO this document can proceed however
> >>                             only in respect to TLV 22 and TLV 135 and
> >>                             both its title and content should reflect
> >>                             this.
> >>                             >
> >>                             > Cheers,
> >>                             > Robert
> >>                             >
> >>                             > On Mon, Nov 11, 2024 at 1:27 PM
> >>                             Christian Hopps <[email protected]>
> >>                             wrote:
> >>                             >
> >>                             > Mach Chen <mach.chen=
> >>                             [email protected]> writes:
> >>                             >
> >>                             > > Hello,
> >>                             > >
> >>                             > > I have been selected as the Routing
> >>                             Directorate reviewer for this draft. The
> >>                             > > Routing Directorate seeks to review
> >>                             all routing or routing-related drafts as
> >>                             > > they pass through IETF last call and
> >>                             IESG review, and sometimes on special
> >>                             > > request. The purpose of the review is
> >>                             to provide assistance to the Routing ADs.
> >>                             > > For more information about the
> >>                             Routing Directorate, please
> >>                             > > see https://wiki.ietf.org/en/group/
> >>                             rtg/RtgDir
> >>                             > >
> >>                             > > Although these comments are primarily
> >>                             for the use of the Routing ADs, it would
> >>                             > > be helpful if you could consider them
> >>                             along with any other IETF Last Call
> >>                             > > comments that you receive, and strive
> >>                             to resolve them through discussion or by
> >>                             > > updating the draft.
> >>                             > >
> >>                             > > Document: https://
> >>                             datatracker.ietf.org/doc/
> >>                             draft-ietf-lsr-multi-tlv-06
> >>                             > > Reviewer: Mach Chen
> >>                             > > Review Date: 2024-11-11
> >>                             > > IETF LC End Date:
> >>                             > > Intended Status: Standards Track
> >>                             > >
> >>                             > > Summary:
> >>                             > > • I have some major and minor
> >>                             concerns about this document that I think
> >>                             should be resolved before publication.
> >>                             > >
> >>                             > > Comments:
> >>                             > > • The document is well written and
> >>                             easy to read it.
> >>                             > >
> >>                             > > Major Issues:
> >>                             > > 1. The definitions of the 'Key' for
> >>                             TLVs and sub-TLVs vary, and this document
> >>                             > > does not specify the Key for each
> >>                             MP-TLV. Therefore, it may result in
> >>                             > > interoperability issues if
> >>                             implementations use different information
> >>                             to
> >>                             > > construct the 'Key.' Given Section
> >>                             8.2 listed all existing applicable
> >>                             MP-TLVs,
> >>                             > > it's essential to specify the Key for
> >>                             each of those MP-TLVs, either within this
> >>                             > > document or in a separate document to
> >>                             which this document should provide a
> >>                             > > normative reference.
> >>                             >
> >>                             > Hi Mach,
> >>                             >
> >>                             > I'm curious if you also followed along
> >>                             on the extensive discussions on this
> >>                             exact issue on the LSR list or not?
> >>                             >
> >>                             > Understanding your exposure to this
> >>                             would help with how to address any
> >>                             remaining confusion about this directly
> >>                             in the draft.
> >>                             >
> >>                             > The WG explicitly decided it was
> >>                             inappropriate to have this document
> >>                             re-define every "key" for every possible
> >>                             TLV as these "key" values are already
> >>                             defined by the documents that define the
> >>                             TLV; however, documenting that choice and
> >>                             the reasoning better may still be
> >>                             necessary.
> >>                             >
> >>                             > So my question is this: were you
> >>                             following along with this discussion in
> >>                             the LSR WG and find yourself disagreeing
> >>                             with the WG decision, or is this entire
> >>                             topic new to you?
> >>                             >
> >>                             > Thanks,
> >>                             > Chris.
> >>                             >
> >>                             >
> >>                             > >
> >>                             > > Minor Issues:
> >>                             > > 1. The MP-TLV Capability
> >>                             Advertisement is defined as a node-based
> >>                             capability
> >>                             > > rather than on a per-codepoint basis,
> >>                             which limits its usefulness. In some
> >>                             > > cases, it may even be misleading if
> >>                             operators just rely on this capability to
> >>                             > > assume MP-TLV support. Therefore, it
> >>                             would be preferable to either remove this
> >>                             > > capability advertisement or redefine
> >>                             it to operate on a per-codepoint basis.
> >>                             > >
> >>                             > > Best regards,
> >>                             > > Mach
> >>                             >
> >>                             >
> >>
>  _______________________________________________
> >>                             > Lsr mailing list -- [email protected]
> >>                             > To unsubscribe send an email to
> >>                             [email protected]
> >>
> >>
> >>
> >>             _______________________________________________
> >>             Lsr mailing list -- [email protected]
> >>             To unsubscribe send an email to [email protected]
> >>
> >>     _______________________________________________
> >>     Lsr mailing list -- [email protected]
> >>     To unsubscribe send an email to [email protected]
>
>
_______________________________________________
Lsr mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to