Re: [Detnet] [mpls] draft-decraene-mpls-slid-encoded-entropy-label-id (was RE: Please review the PALS/MPLS/DetNet Joint Session minutes)
Gyan Mishra <[email protected]> Sat, 2 Apr 2022 17:23:09 -0400
| Newsgroups | gmane.ietf.pwe3,gmane.ietf.mpls |
|---|---|
| Message-ID | <CABNhwV0+ajmd=wXZ57KkpQX2kETnO0CtQrvtt1vBKQX8w+t+ow@mail.gmail.com> |
Hi Bruno On Sat, Apr 2, 2022 at 3:32 PM Gyan Mishra <[email protected]> wrote: > > Hi Bruno > > Responses in-line > > On Fri, Apr 1, 2022 at 1:56 PM <[email protected]> wrote: > >> Hi Gyan, >> >> >> >> Thanks for the clarifications questions. >> >> I’ll take the liberty to top post to re-organize in two distinct points. >> >> >> >> 1. RFC 6790 specification of the use the EL’s TTL field. >> >> >> >> You have correctly highlighted the two relevant text: >> >> On the receiver side, §4.1 says “The EL's TTL MUST be ignored.” >> >> On the sender side, §4.2 says “The TTL for the EL MUST be zero” >> >> >> >> “a” So do we agree that RFC 6790 says “MUST be sent as zero and MUST >> ignored on receipt” ? >> > Gyan Yes…but ..RFC 6790 defines the value of the TTL, however RFC 3032 > defines the rules for processing all the fields of the label stack > encoding. RFC 3032 Section 2.4.2 describes the processing when TTL is set > to 0 which means the TTL has expired and the packet must not be forwarded. > RFC 6790 section 4.2 bullet 4 states “The TTL for the EL MUST be zero to ensure > that it is not used inadvertently for forwarding.” My interpretation of > that is even though the specification states the label stack is {TL,ELI,EL} > and that at the PHP node when the TL is popped in the case of implicit null > packets is forwarded to the egress LER which pops both ELI and EL. > However, the sentence is stating the TTL must be 0 for EL so the packet > cannot be inadvertently used for forwarding which I am interpreting as > there is a possibility that the EL could be exposed at the top of the > stack. If hypothetically the case where the EL were not exposed were not > possible then it would have been sufficient to state that the TTL is > ignored on receipt and not worry about TTL processing which is a concern it > seems as stated in RFC 6790. I think we have to understand why RFC 6790 is > requiring the TTL of EL MUST be set to 0. So based on implementations of > MPLS their maybe possibilities that that even though the ELI must proceed > the EL, maybe they are corner cases where the ELI is missing label > imposition on the LER and thus the EL is exposed and required the EL to > have its TTL set to 0. I think for this we would have to dig into > implementations of MPLS label stack and see what implementations have done > and if they are setting the TTL to 0 or not. If we find that most all > implementations of RFC 6790 are not setting the EL TTL to 0 then it’s > possible we can reuse the TTL field as entropy label control field. We > would have to really understand the corner case with missing ELI and how > the EL can possibly be exposed and that possibility as reasons the authors > of RFC 6790 stated the verbiage that has drawn my attention. > >> “b” Do we agree that this how reserved field are defined at the IETF >> (e.g. https://datatracker.ietf.org/doc/html/rfc7176#section-2.1.1) ? >> >> Gyan> So this I am guessing in RFC 7176 is an example of how Reserved > field is encoded with TRILL. I don’t see the TTL field being marked as > reserved in RFC 3032. I am missing your point here. > > “c” Do we agree that the way this field is specified (cf “a”) has always >> allowed the IETF to further extend this field? >> >> Gyan> RFC 3032 defines the label stack and RFC 6790 defines an entropy >> label for load balancing two new 4 byte label shims ELI and EL which use >> the same label stack encoding and processing rules defined in RFC 3032 >> MPLS-SHIM. I don’t see anywhere in RFC 3031 or 3032 that states that the >> TTL field can be further extended or repurposed for other uses. I am >> afraid that if we use the field repurposed for something else it may have >> dire consequences with load balancing. >> >> 2) Implicit null /PHP >> >> In case of PHP, the transport label is removed by the PHP and the >> ultimate node (egress LER) receives a label stack with the ELI, EL as top >> two labels. >> >> As per MPLS architecture, LER looks at the top label (ELI) and either: >> >> - supports RFC 6790 and then applies “Y then recognizes the ELI and pops two labels: the ELI and the EL.” In no way the EL is exposed and used for forwarding. >> >> - does not support RFC 6790 and hence will drop the packet as per RFC >> 3031 (§3.18). In no way the EL is exposed and used for forwarding. >> >> >> >> So in summary, the EL is never exposed (as top label) and can never be >> used for forwarding. >> >> Gyan> Please see my first long comment related to RFC 6790 section 4.2 >> bullet 4 states “The TTL for the EL MUST be zero to ensure that it is >> not used inadvertently for forwarding.” >> > > Gyan> Section 3.5 of NS packet draft mentions how a IETF network > slices map to a slice flow aggregate. > “ the routers correlate markers > > present in the packets that belong to the Slice-Flow Aggregate. > > > So is the idea that you would split the 20 bit EL label carve out > > bits to be used for slice flow aggregate and remaining bits to be > > preserved for LB function. The common size that has been used for flow > > identifier has been a 20 bit field which is the size of MPLS label used > > as well for IPv6 flow label where the 5 tuple header hash keys are used > > to generate the 20 bit flow label which is an input key to hashing > > function for stateless uniform load balancing. VXLAN source port entropy uses > > a 5 tuple header hash to generate a 16 bit source port input key to hashing function. > > I think the tradeoff here is how many bits to use for slice aggregate without > > diminishing the load balancing functionality. > > > Gyan> RFC 8662 SR entropy refers to RFC 6790 on the ELI, EL semantics and does not > > get into the details described in RFC 6790. So as far as what I mentioned above > > related to discussion that TTL Must be ignored and be set to 0 is not mentioned in RFC 8662. So there > > maybe a gray areas as to RFC 8662 implementations as to what was actually done. > > Gyan> There could be a possible implementation specific recirculation issue or the sort that causes the ELI and EL to get separated and I am guessing that feedback from implementations prior to WGLC that maybe was found and it was then required to make the EL set TTL to 0 and verbiage added so it’s not used for forwarding. > > >> >> Regards, >> >> --Bruno >> >> >> >> >> >> Orange Restricted >> >> *From:* Gyan Mishra <[email protected]> >> >> *Sent:* Thursday, March 31, 2022 4:58 PM >> *To:* DECRAENE Bruno INNOV/NET <[email protected]> >> *Cc:* Henderickx, Wim (Nokia - BE/Antwerp) <[email protected]>; >> John E Drake <[email protected]>; detnet WG <[email protected]>; mpls < >> [email protected]>; [email protected] >> *Subject:* Re: [Detnet] [mpls] [Pals] >> draft-decraene-mpls-slid-encoded-entropy-label-id (was RE: Please review >> the PALS/MPLS/DetNet Joint Session minutes) >> >> >> >> Hi Bruno >> >> >> >> Please provide clarification on how existing implementations using >> Entropy Label ELI/EL RFC 6790 with your proposal to reuse the entropy label. >> >> >> >> In section 2 you talk about the new entropy label control field in your >> proposal to reuse the TTL field as the entropy label control field. >> >> >> >> I have some questions related below that are concerning with your >> proposal. >> >> >> >> RFC 6790 section 4 talks about the TTL processing below excerpt. >> >> >> >> If an ingress LSR X chooses to impose an EL, then Y will receive a >> >> tunnel termination packet with label stack <TL, ELI, EL> <remaining >> >> packet header>. Y recognizes TL as the label it distributed to its >> >> upstreams for the tunnel and pops it. (Note that TL may be the >> >> implicit null label, in which case it doesn't appear in the label >> >> stack.) Y then recognizes the ELI and pops two labels: the ELI and >> >> the EL. Y then processes the remaining packet header as normal; this >> >> may require further processing of tunnel termination, perhaps with >> >> further ELI+EL pairs. When processing the final tunnel termination, >> >> Y MAY enqueue the packet based on that tunnel TL's or ELI's TC value >> >> and MAY use the tunnel TL's or ELI's TTL to compute the TTL of the >> >> remaining packet header. The EL's TTL MUST be ignored. >> >> >> >> >> >> So the TL or ELI is used to compute the TTL of the remaining packet >> header. States that EL’s TTL is ignored. >> >> >> >> Section 4.2 mentions that the TTL for the EL MUST be set to 0 so it’s not >> used for forwarding. The issue here is related to implicit null PHP case >> where the TL is popped and ELI,EL are exposed and to ensure that the EL is >> not used for forwarding the EL MUST be set to 0. >> >> >> >> 4. If, for the chosen tunnel, Y has not indicated that it can >> >> process ELs, push <TL> onto the packet. If Y has indicated that >> >> it can process ELs for the tunnel, push <TL, ELI, EL> onto the >> >> packet. X SHOULD put the same TTL and TC fields for the ELI as >> >> it does for TL. X MAY choose different values for the TTL and TC >> >> fields if it is known that the ELI will not be exposed as the top >> >> label at any point along the LSP (as may happen in cases where >> >> PHP is used and the ELI and EL are not stripped at the >> >> penultimate hop (see Section 4.4 <https://datatracker.ietf.org/doc/html/rfc6790#section-4.4>). The BoS bit for the ELI MUST >> >> be zero (i.e., BoS is not set). The TTL for the EL MUST be zero >> >> to ensure that it is not used inadvertently for forwarding. The >> >> TC for the EL may be any value. The BoS bit for the EL depends >> >> on whether or not there are more labels in the label stack. >> >> >> >> The EL is not used for forwarding as long as the field is set to 0 which >> is a MUST. However if you reuse the TTL field as the entropy label control >> field it will not be set to 0 and thus that could break implementations in >> the PHP case where the ELI/EL are exposed. >> >> >> >> Also the TTL being set to 0 is different then the field being actually a >> Reserved or not applicable field. >> >> >> >> I disagree with sentence below in section 2. >> >> >> >> Hence essentially the TTL field of the EL behaves as a reserved field >> >> which must be set to zero when sent and ignored when received. >> >> >> >> The TTL field as I stated MUST be set to 0 so it’s not used for >> forwarding. So it’s not reserved and it’s read by the LSR looking for the >> field to be set to 0 so it’s not used for forwarding. I can’t see how that >> won’t break existing implementations. >> >> >> >> Kind Regards >> >> >> >> Gyan >> >> >> >> On Thu, Mar 31, 2022 at 12:30 AM Gyan Mishra <[email protected]> >> wrote: >> >> >> >> I like Bruno’s idea of reusing the entropy label as indicator of MEH in >> the label stack and is backwards compatibility for devices not supporting >> can continue to use for ECMP load balancing. >> >> >> >> I think this is a solid interim solution to get the ball rolling with >> minimal software updates and being able to support ancillary data in the >> label stack and as other solutions are progressed that may take longer or >> implement and deploy at least in the near term we have a quick solution >> that could be promising for operators. >> >> >> >> I think we do have to vett out the backwards compatibility and scenario I >> can think of is if you want to be able to use the entropy label for ECMP >> load balancing and simultaneously want to also use as ancillary data >> indicator I am guessing won’t work and that is something we would have to >> be cognizant of if deployed. >> >> >> >> Kind Regards >> >> >> >> Gyan >> >> >> >> On Wed, Mar 30, 2022 at 4:04 PM John E Drake <jdrake= >> [email protected]> wrote: >> >> Wim, >> >> >> >> I think I would term it a thought experiment. An RFC 6790 compliant node >> will take the value in the EL label field and use it to select an outgoing >> interface. If the value in the EL field is a slice ID, such an node will >> select an outgoing interface which is not necessarily part of the slice in >> question and that outgoing interface will be to a node which is not >> necessarily part of the slice in question. >> >> >> >> Yours Irrespectively, >> >> >> >> John >> >> >> >> >> >> Juniper Business Use Only >> >> *From:* Henderickx, Wim (Nokia - BE/Antwerp) <[email protected]> >> *Sent:* Wednesday, March 30, 2022 3:21 PM >> *To:* John E Drake <[email protected]>; [email protected] >> *Cc:* mpls <[email protected]>; detnet WG <[email protected]>; [email protected] >> *Subject:* Re: [mpls] [Pals] >> draft-decraene-mpls-slid-encoded-entropy-label-id (was RE: Please review >> the PALS/MPLS/DetNet Joint Session minutes) >> >> >> >> *[External Email. Be cautious of content]* >> >> >> >> John, do you have evidence of this or is this a theoretical claim ? >> >> >> >> *From: *mpls <[email protected]> on behalf of John E Drake < >> [email protected]> >> *Date: *Wednesday, 30 March 2022 at 19:13 >> *To: *[email protected] <[email protected]> >> *Cc: *mpls <[email protected]>, detnet WG <[email protected]>, [email protected] < >> [email protected]> >> *Subject: *Re: [mpls] [Pals] >> draft-decraene-mpls-slid-encoded-entropy-label-id (was RE: Please review >> the PALS/MPLS/DetNet Joint Session minutes) >> >> Except that putting a slice ID in the Entropy Label field will break >> existing ELI/EL Implementations because their hashing of the slice ID >> won’t necessarily place a packet on the correct outgoing I/F >> >> Sent from my iPhone >> >> >> >> On Mar 30, 2022, at 1:00 PM, [email protected] wrote: >> >> >> >> *[External Email. Be cautious of content]* >> >> >> >> >> >> >> >> *From:* Tony Li <[email protected]> *On Behalf Of *Tony Li >> *Sent:* Wednesday, March 30, 2022 4:08 PM >> >> > [Kireeti]: suggest attending talk by Tony on danger of reusing ELI >> before making any decision. >> >> https://notes.ietf.org/notes-ietf-113-pals >> <https://urldefense.com/v3/__https:/notes.ietf.org/notes-ietf-113-pals__;!!NEt6yMaO-gk!Sw9ofU9AyD7Z-JKwyAqMlHk5xhNLxZNMSu31Yt6-K7yh-6JehvlSPLDcqrP3gOo$> >> >> >> >> Done. The talk raised no “danger of reusing ELI” for draft >> draft-decraene-mpls-slid-encoded-entropy-label-id; quite the contrary. >> >> I quote: “claims of backward compatibility apply to >> draft-decraene-mpls-slid-encoded-entropy-label-id-03”. With more details on >> slide 18 >> >> >> https://datatracker.ietf.org/meeting/113/materials/slides-113-mpls-05-policy-on-mpls-special-purpose-labels-reuse-00 >> <https://urldefense.com/v3/__https:/datatracker.ietf.org/meeting/113/materials/slides-113-mpls-05-policy-on-mpls-special-purpose-labels-reuse-00__;!!NEt6yMaO-gk!Sw9ofU9AyD7Z-JKwyAqMlHk5xhNLxZNMSu31Yt6-K7yh-6JehvlSPLDcNEC7QKk$> >> >> >> >> >> >> Yes, the issue with this proposal is that it has no space for in-stack >> data and not enough space for possible expansion of additional actions. >> >> >> >> [Bruno] There are two steps: >> >> - This proposal allows for carrying 8 Indicators and a slice ID while >> been backward compatible with egress LER hance providing faster deployment >> with incremental benefit. >> >> - If more in-stack data is required the proposal is extensible (e.g. >> draft-jags-mpls-ext-hdr) but at the cost of losing the above benefits for >> the ASes & uses-cases requiring more than 8 Indicators per AS or In-Stack >> Data. >> >> So we can have both worlds: simple first step and extensibility for those >> who need it. >> >> >> >> Independently, we also/already have the post stack data option to carry >> ancillary data, which may limit the need for In-Stack data extension. >> >> >> >> --Bruno >> >> >> >> Tony >> >> >> >> >> >> >> >> Orange Restricted >> >> _________________________________________________________________________________________________________________________ >> >> >> >> 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. >> >> _______________________________________________ >> Pals mailing list >> [email protected] >> >> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/pals__;!!NEt6yMaO-gk!Sw9ofU9AyD7Z-JKwyAqMlHk5xhNLxZNMSu31Yt6-K7yh-6JehvlSPLDcSqI60Zo$ >> <https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/pals__;!!NEt6yMaO-gk!Sw9ofU9AyD7Z-JKwyAqMlHk5xhNLxZNMSu31Yt6-K7yh-6JehvlSPLDcSqI60Zo$> >> >> _______________________________________________ >> detnet mailing list >> [email protected] >> https://www.ietf.org/mailman/listinfo/detnet >> >> -- >> >> <http://www.verizon.com/> >> >> *Gyan Mishra* >> >> *Network Solutions Architect * >> >> *Email [email protected] <[email protected]>* >> >> *M 301 502-1347* >> >> >> >> -- >> >> <http://www.verizon.com/> >> >> *Gyan Mishra* >> >> *Network Solutions Architect * >> >> *Email [email protected] <[email protected]>* >> >> *M 301 502-1347* >> >> >> >> _________________________________________________________________________________________________________________________ >> >> 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. >> >> -- > > <http://www.verizon.com/> > > *Gyan Mishra* > > *Network Solutions A**rchitect * > > *Email [email protected] <[email protected]>* > > > > *M 301 502-1347* > > -- <http://www.verizon.com/> *Gyan Mishra* *Network Solutions A**rchitect * *Email [email protected] <[email protected]>* *M 301 502-1347* _______________________________________________ Pals mailing list [email protected] https://www.ietf.org/mailman/listinfo/pals