BESS Working GroupInternet Engineering Task Force (IETF) R. SinghINTERNET-DRAFTRequest for Comments: 8614 K. KompellaIntended Status: Proposed Standard Juniper NetworksUpdates: 4761(if approved)Juniper Networks Category: Standards Track S. Palislamovic ISSN: 2070-1721 NokiaExpires: October 20, 2019 April 18,June 2019 UpdatedprocessingProcessing of Control Flags for BGPVPLS draft-ietf-bess-bgp-vpls-control-flags-08Virtual Private LAN Service (VPLS) Abstract This document updates the meaning of the Control Flags field in theLayer2"Layer2 Info ExtendedCommunityCommunity" used forBGP-VPLS NLRIBGP Virtual Private LAN Service (VPLS) Network Layer Reachability Information (NLRI) as defined inRFC4761.RFC 4761. This document updatesRFC4761.RFC 4761. Status ofthisThis Memo ThisInternet-Draftissubmitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force(IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum(IETF). It represents the consensus ofsix monthsthe IETF community. It has received public review andmay be updated, replaced, or obsoletedhas been approved for publication byother documents at any time. Itthe Internet Engineering Steering Group (IESG). Further information on Internet Standards isinappropriate to use Internet-Drafts as reference material or to cite them other than as "workavailable inprogress." The listSection 2 of RFC 7841. Information about the currentInternet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The liststatus ofInternet-Draft Shadow Directories canthis document, any errata, and how to provide feedback on it may beaccessedobtained athttp://www.ietf.org/shadow.htmlhttps://www.rfc-editor.org/info/rfc8614. Copyrightand LicenseNotice Copyright (c)20182019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents(http://trustee.ietf.org/license-info)(https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents11. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1....................................................2 1.1. Terminology. . . . . . . . . . . . . . . . . . . . . . . . 3 2................................................3 2. Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3Description .............................................3 3. UpdatedmeaningMeaning of Control Flags in the Layer2 Info Extended Community. . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.......................................................3 3.1. Controlword (C-bit) . . . . . . . . . . . . . . . . . . . . 4 3.2Word (C-Bit) .......................................4 3.2. Sequenceflag (S-bit) . . . . . . . . . . . . . . . . . . . 4 4Flag (S-Bit) ......................................4 4. UsingPoint-to-MultiPointPoint-to-Multipoint (P2MP) LSPs astransportTransport for BGP VPLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5........................................................5 5. Illustrativediagram . . . . . . . . . . . . . . . . . . . . . 6 6Diagram ............................................6 6. Treatment ofCC-Bits andS bitsS-Bits inmulti-homing scenarios . . . . . . 7 6.1Multihoming Scenarios .........7 6.1. Controlword (C-bit) . . . . . . . . . . . . . . . . . . . . 7 6.2Word (C-Bit) .......................................7 6.2. Sequenceflag (S-bit) . . . . . . . . . . . . . . . . . . . 7 7Flag (S-Bit) ......................................7 7. Security Considerations. . . . . . . . . . . . . . . . . . . . 8 8.........................................8 8. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 8 9.............................................8 9. References. . . . . . . . . . . . . . . . . . . . . . . . . . 8 9.1......................................................8 9.1. Normative References. . . . . . . . . . . . . . . . . . . 8 9.2.......................................8 9.2. Informative References. . . . . . . . . . . . . . . . . . . 8.....................................9 Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . . . 9 1.................................................9 1. Introduction "Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling"([RFC4761])[RFC4761] describes the concepts and signaling for using the Border Gateway Protocol (BGP) tosetupset up a VPLS. It specifies the BGP VPLS Network Layer Reachability Information (NLRI) by which aprovider-edge routerProvider Edge (PE) router may require other PEs in the same VPLS to include (or not) thecontrol-wordControl Word (CW) and sequencing information in VPLS frames sent to this PE. The use of theControl Word (CW)CW helps preventmis-orderingthe misordering of IPv4 or IPv6Pseudo-WirePseudowire (PW) traffic overEqual Cost Multi-PathEqual-Cost Multipath (ECMP) paths or Link Aggregation Group (LAG) bundles. [RFC4385] describes the format for the CW that may be used overPoint-to-Pointpoint-to-point PWs and over a VPLS. Along with [RFC3985],the document[RFC4385] also describes sequence number usage for VPLS frames. However, [RFC4761] does not specify the behavior of PEs in a mixed environment where some PEs supportControl Word/sequencingCW/sequencing and others do not.1.11.1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described inBCP14BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.22. Problem Description [RFC4761] specifies the VPLS BGP NLRI by which a given PE advertises the behavior expected by the multiple PEs participating in the same VPLS. The NLRI indicates the VPLS label that the various PE routers, which are referred to in the NLRI, should use when forwarding VPLS traffic to this PE. Additionally, by using the ControlFlagsFlags, this PE specifies whether the other PEs (in the same VPLS) should useControl Wordthe CW orsequenced-deliverysequenced delivery for frames forwarded to this PE. These arerespectivelyindicated by theCC-bits and theS bitsS-bits, respectively, in the ControlFlagsFlags, as specified insectionSection 3.2.4 in [RFC4761]. [RFC4761] requires that if the advertising PE sets theCC-bits andS bits,S-bits, the receiving PE MUST, respectively, insertcontrol word (CW)a CW and include sequence numbers when forwarding VPLS traffic to the advertising PE. However, in a BGP VPLSdeploymentdeployment, there would often be cases where a PE receiving the VPLS BGP NLRI may not have the ability to insert a CW or include sequencing information inside PW frames. Thus, the behavior ofprocessingCW processing and sequencing needs to be further specified. This document updates the meaning of the Control Flags inlayer2 extended communitythe Layer2 Info Extended Community in the BGP VPLS NLRI. It also specifies the forwarding behavior for a mixed-mode environment where not every PE in a VPLS has the ability or the configuration to honor thecontrol flagsControl Flags received from the PE advertising the BGP NLRI.33. UpdatedmeaningMeaning of Control Flags in the Layer2 Info Extended CommunityThe current specification[RFC4761] does not allow for the CW setting to be negotiated. In a typical implementation, if a PE sets the C-bit, it expects to receive VPLS frames with acontrol word,CW and will send frames the same way. If the PEs at the two ends of a PW do not agree on the setting of the C-bit, the PW does not come up. The behavior is similar for the S-bit. This memo updates the meaning of the C-bit and the S-bit in thecontrol flags. 3.1Controlword (C-bit)Flags. 3.1. Control Word (C-Bit) If a PE sets the C-bit in its NLRI, it means that the PE has the ability to send and receive frames with acontrol word.CW. - If the PEs at both ends of a PW set the C-bit,control wordsCWs MUST be used in both directions of the PW. - If both PEs send a C-bit of 0,Control WordsCWs MUST NOT be used on the PW. These two cases behave as before. However, if the PEs at both ends of the PW do not agree on the setting of the C-bit,control wordsCWs MUST NOT be used in either direction on thatPWPW, but the PW MUST NOT be prevented from coming up due to this mismatch. So, the PW will still come up but will not usecontrol wordthe CW in either direction. This behavior is changed from the behavior described in [RFC4761] where the PW does not come up.3.23.2. Sequenceflag (S-bit)Flag (S-Bit) If a PE sets the S-bit in its NLRI, it means that the PE has the ability to set sequence numbers aslisteddescribed insectionSection 4.1 in [RFC4385] and process sequence numbers aslisteddescribed insectionSection 4.2 in [RFC4385]. - If the PEs at both ends of a PW set the S-bit, non-zero sequence numbers MUST be used in both directions of the PW. - If both PEs sendaan S-bit of 0, sequence numbers MUST NOT be used on the PW. These two cases behave as before.Current BGP VPLS specification[RFC4761] does not allow for the S-bit setting to be negotiated either. In a typical implementation, if the PE sets the S-bit in the advertised NLRI, it expects to receive VPLS frames with non-zero sequencenumbers,numbers and will send outgoing frames over the PW with non-zero sequence numbers. This memo further specifies the expected behavior when the PEs at the ends of the PW advertise differing S-bit values. If the PEs at both ends of the PW do not agree on the setting of the S-bit, then the PW SHOULD NOT come up. This is to avoid running into out-of-sequence ordering scenarios when the multiple PEs that are enablingmulti- homingmultihoming for a site have differing S-bit advertisements aslisteddescribed insectionSection 4.2 in [RFC4385]. However, if a deployment is known to not utilizemulti-homing,multihoming, a user-configurable way to override this recommendation MAYBEbe provided by an implementation whereby the PW is allowed to come up. In thatcasecase, the PE advertising the S-bit as 0 should set sequence numbers in the frames aszero0, and the PW receiving the frames should nothave an expectationexpect to receive non-zero sequence numbers.44. UsingPoint-to-MultiPointPoint-to-Multipoint (P2MP) LSPs astransportTransport for BGP VPLS BGP VPLS can be used overpoint-2-point LSPspoint-to-point Label Switched Paths (LSPs) acting as transport between the VPLS PEs. Alternately, BGP VPLS may also be used overP2MP Label Switched Path (LSPs)Point-to-Multipoint (P2MP) LSPs with the source of the P2MP LSP rooted at the PE advertising the VPLS BGP NLRI. In a network that uses P2MP LSPs as transport for a VPLS, there may be some PEs that support the CW while others may not.Similarly,The behavior is similar for the sequencing of VPLS frames. In such a setup, a source PE that supports CW shouldsetupset up two different P2MP LSPs such that: - One P2MP LSP will transport CW-marked frames to those PEs that advertised the C-bit as 1. - The other P2MP LSP will transport frames without the CW to those PEs that advertised the C-bit as 0. Using two different P2MP LSPs to deliver frames with and without the CW to different PEs ensures that a P2MP root PE honors theC- bitC-bit advertised by the other P2MP PEs. However, the set of leaves on the two P2MP LSPs (rooted at the given PE) MUST NOT contain any PEs that advertised a value for the S-bit different from what the root PE itself is advertising. PEs that advertised their S-bitvaluevalues differently (from what the P2MP root PE advertised) will not be on either of the P2MP LSPs. This ensures that the P2MP root PE is sending VPLS frames only to those PEs that agree on the setting of the S-bit. The ingress router for the P2MP LSP should send separate NLRIs for the cases of usingcontrol-wordthe CW and for not usingcontrol-word. 5the CW. 5. IllustrativediagramDiagram ----- / A1 \ ---- ____CE1 | / \ -------- -------- / | | | A2 CE2- / \ / PE1 \ / \ / \ / \___/ | \ ----- ---- ---PE2 | \ | | \ ----- | Service Provider Network | \ / \ | | CE5 A5 | ___ | / \ / \ / \ PE4_/ ----- PE3 / \ / |------/ \------- ------- ---- / | ---- / \/ \ / \ CE = Customer Edge Device | A3 CE3 --CE4 A4 | PE = Provider Edge Router \ / \ / ---- ---- A<n> = Customer site n Figure 1: Example of a VPLS In the above topology, let there be a VPLS configured with the PEs as displayed. Let PE1 be the PE under consideration that is CW enabled and sequencing enabled. Let PE2 and PE3 also be CW enabled and sequencing enabled. Let PE4 not be CW enabled or have the ability to include sequence numbers. PE1 will advertise a VPLS BGP NLRI, containing theC/S bitsC/S-bits marked as 1. PE2 andPE3PE3, on learning of the NLRI from PE1, will include the CW and non-zero sequence numbers in the VPLS frames being forwarded to PE1 aslisteddescribed insectionSection 4 in [RFC4385]. However,PE4PE4, which does not have the ability to include a CW or include non-zero sequence numbers, will not. As per [RFC4761], PE1 wouldhave an expectation thatexpect all other PEs to forward CW-containing frameswhichthat have non-zero sequence numbers. That expectation cannot be met by PE4 in this example. Thus, as per [RFC4761], the PW between PE1 and PE4 does not come up. However, this document addresses howtoan implementation should supportthe mixed-CW and mixed sequencing-abilityBGP VPLS in a network where a subset of the BGP VPLS PEsdescribed above.support the CW and/or frame sequencing. PE1 will not bring up the PW with PE4 due to the S-bit mismatch, unless overridden by local configuration on PE1 and PE4 as specified insectionSection 3.2. If PE4 instead was to advertise a C-bit of 0 and an S-bit of 1, thendespite the CW mismatchthe PW between PE1 and PE4 would comeup. Additionallyup despite the CW mismatch. Additionally, PE1 wouldsetupset up itsdata-planedata plane such that it will strip the CW only for those VPLS frames that are received from PEs that have indicated their desire to receiveCW markedCW-marked frames. So, PE1 willsetupset up its data plane to strip the CW only forVPLsVPLS frames received from PE2 andPE3PE3, and it will expect to process PW frames containing non-zero sequence numbers aslisteddescribed insectionSection 4.2 in [RFC4385]. PE1 willsetupset up itsdata-planedata plane to not strip the CW from frames received fromPE4PE4, and ititwould expect PE4 to send frames with non-zero sequence numbers. All frames sent by PE4 to PE1 over the PW would have a non-zero sequence number.66. Treatment ofCC-Bits andS bitsS-Bits inmulti-homing scenarios 6.1Multihoming Scenarios 6.1. Controlword (C-bit)Word (C-Bit) Inmulti-homeda multihomed environment, different PEs may effectively represent the same service destinationend-point.endpoint. It could be assumed that the end-to-end PW establishment process should follow the same rules when it comes tocontrol word requirement,CW requirements, meaning that setting the C-bit would be enforced equally toward both primary and backup designated forwarders. However, in themulti-homing casemultihoming case, each PW SHOULD be evaluated independently. Assuming the network topology specified insectionSection 5, there could be the case where the PW between PE2 and PE1 could have the CW signaled via the extended community and would be used in the VPLS frame, whilePE2 to PE4the PE2-to-PE4 PW would not insert the CW in the VPLS frame due to a C-bit mismatch. The multihoming behavior of the rest of the PEsmulti-homing behaviorshould simply follow the rules specified in [VPLS-MULTIHOMING].6.26.2. Sequenceflag (S-bit)Flag (S-Bit) In amulti-homedmultihomed environment, different PEs may effectively represent the same service destinationend-point.endpoint. In this case, the rules for end-to-end PW establishment SHOULD follow the same behavior aslistedthat described insectionSection 3.2 when it comes tosequence bitS-bit requirements. Consider the case described insectionSection 5 with CE5being multi-homedhaving a connection to multiple PEs (multihomed) to PE4 and PE1. ThePWPW's behavior is similar to that for the CW scenariososuch that theinsertion ofS-bit evaluation SHOULD be independent per PW.However, because S-bit mismatch between two end-point PEs results in no PW establishment,So, in the case where PE4doesn't support S-bit.does not set the S-bit in its advertised NLRI, there is an S-bit mismatch between PE1 and PE4. This mismatch prevents the PW establishment between PE1 and PE4. So, only one PWwould be established,-- between PE1 andPE2.PE2 -- would be established for the multihomed site shown. Thus, even though CE5 is physicallymulti-homed,multihomed, due to PE4's lack of support for sending frames with non-zero sequencenumbersnumbers, there would be no PW between PE2 and PE4. CE5 would effectively not bemulti-homed. 7multihomed. 7. Security Considerations This document updates the behavior specified in [RFC4761]. The security considerationslisteddiscussed in [RFC4761] apply. This document essentially addressesBGP-VPLSBGP VPLS behavior for PEs when the C-bitand/orvalue, the S-bitvaluevalue, or both values advertised by a given PE are different from what another PE in the VPLS is advertising. Any bit-flipping media errors leading to causing this mismatch ofC/S bitsC/S-bits between PEs do not adversely affect the availability of the PWs.RatherRather, they causecontrol-wordsCWs to not be used or cause theNRLI-advertisingNLRI-advertising PE to not expectnon- zeronon-zero sequenced frames, for the C-bit and theS-bit respectivelyS-bit, respectively, being mismatched across PEs. This is no worse than the previous behavior where any bit-flipping media errors leading to a mismatch ofC/S bitthe C/S-bits between PEs would cause the PW to not come up.88. IANA Considerations This documentdoes not make any requests from IANA. 9has no IANA actions. 9. References9.19.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March1997.1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC4761] Kompella, K., Ed. and Y. Rekhter,VirtualEd., "Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery andSignaling,Signaling", RFC 4761, DOI 10.17487/RFC4761, January2007.2007, <https://www.rfc-editor.org/info/rfc4761>. [RFC4385] Bryant, S.,SwallowSwallow, G.,MartiniMartini, L., and D. McPherson,Pseudowire"Pseudowire Emulation Edge-to-Edge (PWE3) ControlWord,Word for Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385, February2006.2006, <https://www.rfc-editor.org/info/rfc4385>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May2017. 9.22017, <https://www.rfc-editor.org/info/rfc8174>. 9.2. Informative References [RFC3985] Bryant, S., Ed. and P. Pate,PseudoEd., "Pseudo Wire Emulation Edge-to-Edge (PWE3)Architecture, RFC3985,Architecture", RFC 3985, DOI 10.17487/RFC3985, March2005.2005, <https://www.rfc-editor.org/info/rfc3985>. [VPLS-MULTIHOMING] Kothari, B.,et al, BGPKompella, K., Henderickx, W., Balus, F., and J. Uttaro, "BGP based Multi-homing in Virtual Private LANService, draft-ietf-bess-vpls-multihoming-02, September 2018.Service", Work in Progress, draft-ietf-bess-vpls-multihoming-03, March 2019. Authors' Addresses Ravi Singh Juniper Networks 1133 Innovation Way Sunnyvale, CA 94089US EMail:United States of America Email: ravis@juniper.net Kireeti Kompella Juniper Networks 1133 Innovation Way Sunnyvale, CA 94089US EMail:United States of America Email: kireeti@juniper.net Senad Palislamovic Nokia 600 Mountain Avenue Murray Hill, NJ 07974-0636US EMail:United States of America Email: Senad.palislamovic@nokia.com