Huaimo, first, I fail to see how 8202 has anything to do with this discussion.
Did you try to implement and deploy 5311 in real networks and seen the operational impact ? and are you suggesting that we need to have that deployed as precondition for big-tlv idea ? 'nuff said ... -- tony On Thu, Dec 7, 2023 at 3:12 PM Huaimo Chen <huaimo.c...@futurewei.com> wrote: > Hi Tony, > > > > My responses are inline below with [HC]. > > > > Best Regards, > > Huaimo > > > > practically speaking "backwards compatibility" here is restricted by the > fact that > > > > 1) we have in most largest networks de facto mp-tlv deployed and relied on > for operations implemented by all major vendors. > > 2) we cannot encode mp-tlv deployed in parallel with "something new that > we flip over once e'one has it" since the encoding space is limited and > there are deployments that consume on some node so many fragments > re-encoding twice until cut over would immediately break those networks > > > > *[HC]: We have encoded TLVs > 255 in two different ways (or say, deployed > in parallel) already. * > > *RFC 8202 specifies one way for IID-TLV (TLV 7) > 255 on page 4-6 (quoted > some text below for your convenience). * > > “A single IID-TLV will support advertisement of up to 126 ITIDs. If > > multiple IID-TLVs are present in an IIH PDU, the supported set of > > ITIDs is the union of all ITIDs present in all IID-TLVs.” > > *RFC5311 defines another way for extended IS reachability TLV 22 and > MT-ISN TLV 222 > 255, in which two new TLVs: IS Neighbor Attribute TLV 23 > and MT IS Neighbor Attribute TLV 223, are defined. Some texts from RFC 5311 > are quoted below for your convenience.* > > “If the attribute information does not conflict, it MUST be > > considered additive.” > > “In cases where information about the same neighbor/link/attribute > > appears in both TLV 22 and TLV 23 (or TLV 222 and TLV 223 for the > > same MTID) then the information in TLV 22 (or TLV 222) MUST be used > > and the information in TLV 23 (or TLV 223) MUST be ignored.” > > “Utilization of the new TLVs for neighbor attribute information would > > provide additional benefits that include: > > Easier support for a set of TE information associated with a single > > link that exceeds the 255-byte TLV limit by allowing the > > interpretation of multiple TLVs to be considered additive rather > > than mutually exclusive.” > > *These two different ways do not affect each other. There is no flip over. * > > *A new way for TLVs > 255 will not affect any existing way. There will not be > any flip over.* > > > > > > Corollary I: a flag day on such networks is NOT possible unless it's > seamlessly flipping to something new while disabling old > > > > *[HC]: Corollary 1 seems not valid since the Theorem on which Corollary 1 > based is not valid. The Theorem is 1) and 2) above. The Theorem is not > valid (or true) since 2) is false.* > > > > Collorary II: no matter how many times something that does not meet those > 2 criteria is suggested is repeated ad nauseam it will not make it > practically relevant or feasible. > > > > *[HC]:* *Corollary 2 seems not valid since the Theorem on which Corollary > 2 based is not valid.* > > > > what we need is documentation to the extent possible of existing mp-tlv > and framework for new tlv/sub-tlv/sub.. to describe intended behavior in > case of mp-tlv of those. All in distributed fashion without gating it on a > single include file ;-) gathering documentation about existing is laudable > and could be attempted in an application draft if someone is willing > (TonyL's statements about that are true however). mp-tlv draft should > probably add that every new draft doing new tlv/sub-tlv has to provide a > mp-tlv section then (and make sure that it does not break recursion of all > including parent hierarchy in some way [i.e. it's of no use to say that a > sub-tlv has mp-tlv capability if the partent doesn't since the parent > cannot repeat and will never have space hence for more than one sub-tlv > already due to length restrictons) > > *[HC]: Some issues on the draft are raised in the LSR mailing list.* > > > > all that has been repeated enough already and no matter of wishful > thinking and ASCII text will shift this reality on the ground > > *[HC]: More discussions, more understanding on MP-TLV and Big-TLV.* > > > > -- tony > > > > On Tue, Dec 5, 2023 at 8:11 AM Les Ginsberg (ginsberg) <ginsberg= > 40cisco....@dmarc.ietf.org> wrote: > > Folks – > > > > The term “backwards compatibility” is getting abused here. > > > > What does “backwards compatibility” mean in the context of a routing > protocol like IS-IS? > > > > It means that protocol extensions can be *advertised and safely used in > the presence of legacy nodes (*which do not understand the new > advertisements). > > > > Neither MP nor Big-TLV are backwards compatible. > > > > The authors of MP draft do not claim it is backwards compatible. > > > > The authors of Big-TLV claim it is “backwards compatible” – but this is a > false statement. Any attempt to use Big-TLV advertisements in the presence > of legacy nodes will result in inconsistent and potentially dangerous > behavior. > > Big-TLV authors like to say “you can send Big-TLV but not use it until all > nodes support it” – but this does meet the criteria for backwards > compatibility. If Big-TLV were “backwards compatible” there would be no > need for a capability advertisement to determine when it is safe to use the > advertisements. > > > > Les > > > > *From:* li_zhenqi...@hotmail.com <li_zhenqi...@hotmail.com> > *Sent:* Monday, December 4, 2023 10:35 PM > *To:* Huaimo Chen <huaimo.c...@futurewei.com>; Les Ginsberg (ginsberg) < > ginsb...@cisco.com>; Tony Li <tony...@tony.li>; Linda Dunbar < > linda.dun...@futurewei.com> > *Cc:* Yingzhen Qu <yingzhen.i...@gmail.com>; > draft-pkaneria-lsr-multi-...@ietf.org; lsr <lsr@ietf.org> > *Subject:* Re: Re: [Lsr] WG Adoption Call - draft-pkaneria-lsr-multi-tlv > (11/17/2023 - 12/09/2023) > > > > Hello All, > > > > It seems Big-TLV is backward compatible. Backward compatible is an > important point that should be considered when we introduce new features in > a protocol, especially the widely used protocols like ISIS, BGP etc. > > > ------------------------------ > > Best Regards, > > Zhenqiang Li > > China Mobile > > li_zhenqi...@hotmail.com > > > > *From:* Huaimo Chen <huaimo.c...@futurewei.com> > > *Date:* 2023-12-04 21:57 > > *To:* Les Ginsberg (ginsberg) <ginsberg=40cisco....@dmarc.ietf.org>; Tony > Li <tony...@tony.li>; Linda Dunbar <linda.dun...@futurewei.com> > > *CC:* Yingzhen Qu <yingzhen.i...@gmail.com>; > draft-pkaneria-lsr-multi-...@ietf.org; lsr <lsr@ietf.org> > > *Subject:* Re: [Lsr] WG Adoption Call - draft-pkaneria-lsr-multi-tlv > (11/17/2023 - 12/09/2023) > > Hi Les, > > > > My responses are inline below with [HC]. > > > > Best Regards, > > Huaimo > > > > Linda – > > > > When we have polarized positions (for whatever reasons), coming to > consensus is often difficult. Each side tends to dismiss the arguments of > the other – sometimes regardless of merit. > > So, maybe the following won’t help – but I am going to give it a try. > > > > Point #1: There are existing TLVs for which MP behavior was explicitly > stated in existing RFCs and there are already many deployments that conform > to those RFCs (see Introduction of MP draft for a list). > > If we choose to use a different encoding to support > 255 bytes for other > codepoints, this both complicates implementations and confuses the > definition of new protocol extensions. When defining a new codepoint should > I choose MP or should I choose a different encoding? And what criteria can > be used to make this choice a sensible one? > > And since MP is already REQUIRED for those TLVs where it was explicitly > defined, we will always have to support that – at least for some codepoints. > > *[HC]: When Big-TLV is used for a TLV > 255, it does not affect the > existing MP-TLV that has been used for another TLV > 255. When defining a > new codepoint for a new TLV, it seems better to choose Big-TLV if backward > compatibility is needed for the new TLV since Big-TLV is backward > compatible. * > > *I have explained it (i.e. ,“Big-TLV is backward compatible”) in detail. > In addition, some other people indicate it in the LSR mailing list. * > > > > > > Point #2: MP for IS-Neighbor/Prefix Reachability TLVs has already been > implemented by multiple vendors, tested in both partial deployment and full > deployment scenarios. We know that it works and we know what the problems > are in partial deployment. > > This cannot be said for new alternatives. > > With due respect to Huaimo, he tends to characterize the implementation > problems to be solved for Big-TLV as “easy to resolve” but given the > absence of implementation I think this is an overly optimistic and somewhat > naïve POV. (No offense intended) > > *[HC]: It seems that the implementation of an idea/solution in a draft is > not required by LSR WG for the draft to be adopted, or even for the draft > to become RFC. * > > > > Point #3: As documented in the IANA section of the MP draft, the problem > extends to sub-TLVs of top level TLVs as well. It is then not as simple as > reserving one encap TLV to handle the top-level TLV case. We also have to > have a solution when a sub-TLV requires more than 255 bytes. MP solves this > without additional changes. Big-TLV has yet to discuss this. > > *[HC]: It seems that MP-TLV has to discuss this.* > > *Assume: a TLV (e.g., TLV 1) > 255 and its sub-TLV > 255, there are > MP-TLVs (e.g., MP-TLV 1 and MP-TLV 2) for the TLV and MP-TLVs (e.g., MP-TLV > 3 and MP-TLV 4) for the sub-TLV. All these MP-TLVs are TLVs. If there is > another TLV (e.g., TLV 2) > 255 and its sub-TLV > 255 and all these > sub-TLVs (i.e., the sub-TLV of TLV 1 and the sub-TLV of TLV 2) have the > same type and there are MP-TLVs (e.g., MP-TLV 5, MP-TLV 6) for TLV 2 and > MP-TLVs (e.g., MP-TLV 7, MP-TLV 8) for the sub-TLV (of TLV 2) > 255, how do > you handle this case? How do you map MP-TLVs (e.g., MP-TLV 3, 4, 7, 8) for > the same type of the sub-TLVs to their TLVs (e.g., TLV 1, 2)?* > > > > If Big-TLV actually solved the partial deployment case, we would have a > motivation to look at it more seriously. But it does not. It has the same > issue with partial deployment that MP does. So for me, there is no value > add to Big-TLV – and it does require additional implementation work – not > all of which has even been defined yet. > > *[HC]: Big-TLV actually solved the partial deployment case. I have > explained this in detail. In addition, some other people indicate that > Big-TLV is backward compatible in the LSR mailing list.* > > > > It isn’t better – it is just different – and comes with additional > implementation costs. > > *[HC]: Big-TLV is better as I have explained in detail. * > > > > Les > > > > *From:* Tony Li <tony1ath...@gmail.com> *On Behalf Of *Tony Li > *Sent:* Friday, December 1, 2023 2:44 PM > *To:* Linda Dunbar <linda.dun...@futurewei.com> > *Cc:* Yingzhen Qu <yingzhen.i...@gmail.com>; > draft-pkaneria-lsr-multi-...@ietf.org; lsr <lsr@ietf.org> > *Subject:* Re: [Lsr] WG Adoption Call - draft-pkaneria-lsr-multi-tlv > (11/17/2023 - 12/09/2023) > > > > > > Hi Linda, > > > > > > > - Suppose the information to be carried by the Extended IS > Reachability (type 22) (in Example 4.1) is larger than 255. Does it mean > the recipient will receive 2 TLVs (both with the Type 22) in one LSA? For > legacy routers, the second TLV (Type =22) might overwrite the first TLV. > > > > > > Yes, a legacy implementation may well have bugs. The proposal is to fix > that: expect MP-TLVs. > > > > [Linda] Are you saying only the legacy implementation with bugs will be > confused with two TLVs with the same Type in in one LSA? > > > > > > No. All implementations have bugs. This is reality. > > > > Implementations that do not understand MP-TLV may be confused. Correct > implementations of MP-TLV support will not be confused. > > > > > > > - Isn’t it more straightforward to have a new TYPE value for carrying > the extra information beyond the 255 bytes? So, the legacy routers can > ignore the TLVs with the unrecognized types. > > > > > > You could do that, but code points are not free. We certainly cannot > afford another code point for each existing code point. Using just one > code point is less than helpful: it forces us to aggregate information that > has no business being aggregated. Ignoring information is a non-starter > because it makes partial deployments fatal: some of the domain operates > with some information and some of the domain operates with different > information. > > [Linda] Why not consider having just one additional TYPE code with > sub-types to indicate which original TLVs the value should be appended to? > > > > > > We have considered it. See all of Les’ emails for why it’s a bad idea. > > > > If it helps simplify this debate: we know that you work for > Futurewei/Huawei and that the discussion has polarized into your Big-TLV > faction vs. everyone else. Repetition of previously made points add zero > value to the discussion. > > > > Tony > > > > _______________________________________________ > Lsr mailing list > Lsr@ietf.org > https://www.ietf.org/mailman/listinfo/lsr > >
_______________________________________________ Lsr mailing list Lsr@ietf.org https://www.ietf.org/mailman/listinfo/lsr