Bruno – Thanx for the thoughtful comments. Please see responses inline.
From: bruno.decra...@orange.com <bruno.decra...@orange.com> Sent: Thursday, November 16, 2023 6:40 AM To: Les Ginsberg (ginsberg) <ginsb...@cisco.com>; Christian Hopps <cho...@chopps.org> Cc: lsr@ietf.org Subject: RE: draft-pkaneria-lsr-multi-tlv and "backwards compatibility" Les, all Please see my 2 cents (operator’s feedback) inline [Bruno] (to be clear, I’m not doing any comparison with any other proposal) Orange Restricted From: Lsr <lsr-boun...@ietf.org<mailto:lsr-boun...@ietf.org>> On Behalf Of Les Ginsberg (ginsberg) Sent: Monday, November 6, 2023 4:13 PM To: Christian Hopps <cho...@chopps.org<mailto:cho...@chopps.org>> Cc: lsr@ietf.org<mailto:lsr@ietf.org> Subject: Re: [Lsr] draft-pkaneria-lsr-multi-tlv and "backwards compatibility" Chris - Thanx for the reply - and glad to see we seem to be headed in the same direction. Just wanted to clarify that the MP draft does NOT advocate partial deployment. [Bruno] Speaking of clarity, I’d rephrase this as “does NOT support (enablement in) partial deployment” [LES:] I think we need to pay attention to “scope” here. The use cases related to Neighbor and Prefix Reachability TLVs are what has brought this issue to the forefront, but the scope of the MP-TLV draft is all codepoints to which MP applies. For TLVs which are processed by all nodes in the network, partial deployment of MP support is simply not going to work. But there are TLVs to which MP applies which may not be processed by all nodes in the network. In such cases, use of MP for those codepoints could be viable in the presence of nodes which don’t support MP so long as those nodes don’t need to process that codepoint at all. Making a statement that partial deployment won’t work in all cases therefore isn’t accurate. No support of partial deployment makes this very difficult to deploy in certain environments. You’d be surprised how old some platforms may be. And given that LSPs are flooded to all nodes (vs BGP attributes), in those environments, we are speaking of more than a decade between support on all implementation and deployment. Adding that some implementations may implement this latter, I’d say more than a decade (2 decades looks doable). [LES:] Actually, I am not surprised by this at all. 😊 Part of my job is supporting old releases – even though I would wish that the customer would “just upgrade”. https://www.ietf.org/archive/id/draft-pkaneria-lsr-multi-tlv-04.html#name-deployment-considerations recommends: · Implementations provide a knob to control the use of MP-TLV · Implementations report an alarm if an MP-TLV is received when use of MP-TLVs is disabled. · Implementations report an alarm if local LSP generation requires the use of MP-TLVs when generation of MP-TLVs is disabled. [Bruno] Good. Or minimal given the issues brought in case of partial deployment. Given that some implementors tends to skips “SHOULD”, I’d rather call for REQUIRED. (and I believe REQUIRED is the right level, at least for the first item) [LES:] In principle I agree. But making a configuration knob or an alarm mandatory has some practical limitations. One can (for example) say that a TLV format MUST follow certain constraints and enforce this on the receiver by saying if a malformed TLV is received it MUST be ignored. But there is no enforcement mechanism for configuration knobs/alarms. It is possible that a given implementation might define an alternate configuration mechanism that the owners believe meets the intention of the statements above but does not match the definitions – so the use normative language here makes me think we are overstepping. While I agree with you in spirit, I am not sure that making the change you suggest is justifiable. Happy to listen to WG feedback on this. Following these guidelines, MP-TLVs would only be present in a network when the control is set to use them AND the operator enters a config which requires sending more than 255 bytes. And violations of these conditions would be reported. [Bruno] I don’t think that there is such “the operator enters a config which requires sending more than 255 bytes”. In my environment, a provisioning tool or a human would not know whether a given config would “require sending more than 255 bytes” or not. This would be too much complexity. Not to mention that I guess that in the general case the config may be done on one node (e.g., a PE) and the advertisement requiring more than 255 octets could be done on a different node (e.g., ABR, L1/L2 router). Finally, I would also assume that with zero config change from the operator, a software upgrade could have the limit being exceeded. (e.g., the new software advertising new sub-TLV, such as RFC 7794 “Prefix Attributes for Extended IPv4 and IPv6 Reachability”). IOW, let’s not put the blame on the operator when the issue is the spec (or feature) not supporting partial deployment. [LES:] No intention on my part to imply “blame”. The point I am trying to make is that MP is not sent just because an implementation is capable of doing it. It is only sent because the deployment requires more than 255 bytes to be advertised. An implementation which, for example, has 100 bytes to send and chooses to send it in two TLVs with 50 bytes each is unnecessarily risking interoperability issues – this should not be done. I also agree that it is difficult at best for an operator to deduce that a given configuration requires more than 255 bytes to be advertised – which is why we recommend the alarms. The operator is then explicitly informed that MP is required when it occurs. Note that the alarms cover both the sending and the receiving cases. Draft says “Sending of MP-TLVs in the presence of nodes which do not correctly process such advertisements can result in interoperablity issues, including incorrect forwarding of packets.” [Bruno] While correct, I find the sentence a bit on the understatement side. In particular :s/can result/is likely to result (if not “will result”) :s/packets/a significant portion of the traffic resulting in persistent forwarding loops. [LES:] Again, this depends on the codepoint. In the case of Neighbor/Prefix Reachability advertisements, the impact on forwarding is highly likely (as your wording states). But as the scope of the draft is broader that these two codepoints, I think the current language is appropriate. And thanks to Christian for the nice summary and bridging the communication gap. [LES:] I am also appreciative of Chris’s comments. But I do think his suggestion that MP draft was advocating “partial deployment” was misleading – which is why I hastened to point out that is not the case. If I have misinterpreted Chirs’s intent, my apologies. Les --Bruno Les > -----Original Message----- > From: Christian Hopps <cho...@chopps.org<mailto:cho...@chopps.org>> > Sent: Monday, November 6, 2023 6:10 AM > To: Les Ginsberg (ginsberg) <ginsb...@cisco.com<mailto:ginsb...@cisco.com>> > Cc: Christian Hopps <cho...@chopps.org<mailto:cho...@chopps.org>>; > lsr@ietf.org<mailto:lsr@ietf.org> > Subject: Re: draft-pkaneria-lsr-multi-tlv and "backwards compatibility" > > > My point is that people are not using the same definition of backward > compatibility. This is why this argument over it is going in circles. I'm > suggesting that when you consider each persons definition of backward > compatibility, then neither side is wrong. So saying things like "No. You are > wrong" etc, is not helpful to moving things forward. > > In both cases, when you actually need multi-part-tlv, you have to deploy the > new software to all the routers that will use it; however the multi-part-tlv > draft > allows for a messy sort of "it still works as long as you don't need > multi-part- > tlv on routers that don't understand it" operation. So you hand craft your > software deployment to match your network config to make that work. > > The Big TLV solution does not allow for this "messy but functioning > deployment", and this is why I believe people prefer the multi-part TLV > solution. That should be enough to move things forward IMO. > > Thanks, > Chris. > [wg-member] > > "Les Ginsberg (ginsberg)" <ginsb...@cisco.com<mailto:ginsb...@cisco.com>> > writes: > > > Chris (and everyone) - > > > > > > > > A more complete response to your comments regarding "backwards > > compatibility", routing loops, etc. > > > > > > > > It is absolutely true that until all nodes in the network support > > advertisement (meaning at least receive processing) of more than 255 > > bytes for a given object, that any attempt to deploy a configuration > > which requires the advertisement of more than 255 bytes for that > > object is likely to result in some type of failure. > > > > That failure could manifest itself as routing loops or blackholes or > > in other ways. This is explicitly stated in https://www.ietf.org/ > > archive/id/draft-pkaneria-lsr-multi-tlv-04.html# > > name-deployment-considerations : > > > > > > > > “Sending of MP-TLVs in the presence of nodes which do not correctly > > process such advertisements can result in interoperability issues, > > including incorrect forwarding of packets.” > > > > > > > > No one has ever tried to state otherwise. > > > > > > > > But it is also true that encodings other than MP suffer from the same > > limitation. The authors of Big-TLV try to claim otherwise, but this > > does not stand up to scrutiny – see my replies to Huaimo for more > > details as to why. > > > > > > > > Would it be great if we could find a way to allow “incremental > > deployment”? Sure – but it isn’t possible. As Tony Li stated at the > > last IETF (paraphrasing): > > > > > > > > “This isn’t great – but it’s the best we can do.” > > > > > > > > As to why this particular problem is not amenable, it is because the > > content that is being advertised consists of existing sub-TLVs that > > all nodes in the network are required to process for correct > > operation. There isn’t some information which is “old” and some > > information which is “new”. It is all “old” – there is just more of > > it. > > > > > > > > I honestly thought we had gotten past this point with our discussions > > (both in the WG and some post WG 1-1 discussions) at IETF 117. But > > now you have raised this point again. > > > > I share your angst, but there is an undeniable deployment need to > > advertise more than 255 bytes per object – so we need to move > > forward. > > > > > > > > Les > > > > > > > > > > > > > > > > > > > > ____________________________________________________________________________________________________________ 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 https://www.ietf.org/mailman/listinfo/lsr