BESS Working Group
Internet Engineering Task Force (IETF)                          R. Singh
INTERNET-DRAFT
Request for Comments: 8614                                   K. Kompella
Intended Status: Proposed Standard                      Juniper Networks
Updates: 4761 (if approved)                                           Juniper Networks
Category: Standards Track                                S. Palislamovic
ISSN: 2070-1721                                                    Nokia
Expires: October 20, 2019                                 April 18,
                                                               June 2019

              Updated processing Processing of Control Flags for BGP VPLS
               draft-ietf-bess-bgp-vpls-control-flags-08
                   Virtual Private LAN Service (VPLS)

Abstract

   This document updates the meaning of the Control Flags field in the
   Layer2
   "Layer2 Info Extended Community Community" used for BGP-VPLS NLRI BGP Virtual Private LAN
   Service (VPLS) Network Layer Reachability Information (NLRI) as
   defined in
   RFC4761. RFC 4761.  This document updates RFC4761. RFC 4761.

Status of this This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an 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 of six months the IETF community.  It has
   received public review and may be updated, replaced, or obsoleted has been approved for publication by other documents at any
   time.  It the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work available in progress."

   The list Section 2 of RFC 7841.

   Information about the current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list status of Internet-Draft Shadow Directories can this document, any errata,
   and how to provide feedback on it may be accessed obtained at
   http://www.ietf.org/shadow.html
   https://www.rfc-editor.org/info/rfc8614.

Copyright and License Notice

   Copyright (c) 2018 2019 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 Contents

   1

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1 ....................................................2
      1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . .  3
   2 ................................................3
   2. Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3 Description .............................................3
   3. Updated meaning Meaning of Control Flags in the Layer2 Info Extended
      Community . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1 .......................................................3
      3.1. Control word (C-bit) . . . . . . . . . . . . . . . . . . . .  4
     3.2 Word (C-Bit) .......................................4
      3.2. Sequence flag (S-bit)  . . . . . . . . . . . . . . . . . . .  4
   4 Flag (S-Bit) ......................................4
   4. Using Point-to-MultiPoint Point-to-Multipoint (P2MP) LSPs as transport Transport for
      BGP VPLS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   5 ........................................................5
   5. Illustrative diagram  . . . . . . . . . . . . . . . . . . . . .  6
   6 Diagram ............................................6
   6. Treatment of C C-Bits and S bits S-Bits in multi-homing scenarios . . . . . .  7
     6.1 Multihoming Scenarios .........7
      6.1. Control word (C-bit) . . . . . . . . . . . . . . . . . . . .  7
     6.2 Word (C-Bit) .......................................7
      6.2. Sequence flag (S-bit)  . . . . . . . . . . . . . . . . . . .  7
   7 Flag (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) to setup set up a VPLS.  It specifies the
   BGP VPLS Network Layer Reachability Information (NLRI) by which a
   provider-edge router
   Provider Edge (PE) router may require other PEs in the same VPLS to
   include (or not) the control-word Control Word (CW) and sequencing information in
   VPLS frames sent to this PE.

   The use of the Control Word (CW) CW helps prevent mis-ordering the misordering of IPv4 or IPv6 Pseudo-Wire
   Pseudowire (PW) traffic over Equal Cost Multi-Path Equal-Cost Multipath (ECMP) paths or
   Link Aggregation Group (LAG) bundles.  [RFC4385] describes the format
   for the CW that may be used over Point-to-Point point-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 support Control Word/sequencing CW/sequencing and others do not.

1.1

1.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 in
   BCP14
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2

2.  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 Control Flags Flags, this
   PE specifies whether the other PEs (in the same VPLS) should use Control
   Word the
   CW or sequenced-delivery sequenced delivery for frames forwarded to this PE.  These are
   respectively
   indicated by the C C-bits and the S bits S-bits, respectively, in the Control Flags
   Flags, as specified in section Section 3.2.4 in [RFC4761].

   [RFC4761] requires that if the advertising PE sets the C C-bits and S bits,
   S-bits, the receiving PE MUST, respectively, insert control word (CW) a CW and include
   sequence numbers when forwarding VPLS traffic to the advertising PE.

   However, in a BGP VPLS deployment deployment, 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 of processing CW processing and sequencing needs to be further
   specified.

   This document updates the meaning of the Control Flags in layer2
   extended community the 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 the control
   flags Control
   Flags received from the PE advertising the BGP NLRI.

3

3.  Updated meaning Meaning of Control Flags in the Layer2 Info Extended
    Community

   The 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 a control 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 the
   control flags.

3.1
   Control word (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 a control word. CW.

   -  If the PEs at both ends of a PW set the C-bit, control words CWs MUST be used in
      both directions of the PW.

   -  If both PEs send a C-bit of 0, Control Words CWs 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 words CWs MUST NOT be used in either direction on
   that PW PW, but the PW MUST NOT be prevented from coming up due to this
   mismatch.  So, the PW will still come up but will not use
   control word the CW in
   either direction.  This behavior is changed from the behavior
   described in [RFC4761] where the PW does not come up.

3.2

3.2.  Sequence flag (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 as listed described in section Section 4.1 in
   [RFC4385] and process sequence numbers as listed described in section Section 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 send a an 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
   sequence numbers, 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 enabling multi-
   homing
   multihoming for a site have differing S-bit advertisements as listed
   described in
   section Section 4.2 in [RFC4385].  However, if a deployment is
   known to not utilize multi-homing, multihoming, a user-configurable way to override
   this recommendation MAY BE be provided by an implementation whereby the
   PW is allowed to come up.  In that case case, the PE advertising the S-bit
   as 0 should set sequence numbers in the frames as zero 0, and the PW
   receiving the frames should not have an expectation expect to receive non-zero sequence
   numbers.

4

4.  Using Point-to-MultiPoint Point-to-Multipoint (P2MP) LSPs as transport Transport for BGP VPLS

   BGP VPLS can be used over point-2-point LSPs point-to-point Label Switched Paths (LSPs)
   acting as transport between the VPLS PEs.  Alternately, BGP VPLS may
   also be used over
   P2MP 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 should setup set 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 the C-
     bit C-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-bit value values 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 using control-word the CW and for not using control-word.

5 the CW.

5.  Illustrative diagram Diagram

                                                          -----
                                                         /  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 the C/S bits C/S-bits marked as 1.  PE2 and PE3 PE3, on learning of the
   NLRI from PE1, will include the CW and non-zero sequence numbers in
   the VPLS frames being forwarded to PE1 as listed described in section Section 4 in
   [RFC4385].  However, PE4 PE4, which does not have the ability to include
   a CW or include non-zero sequence numbers, will not.

   As per [RFC4761], PE1 would have an expectation that expect all other PEs to forward
   CW-containing frames which that 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 how to an implementation should support the mixed-CW and
   mixed sequencing-ability
   BGP VPLS in a network where a subset of the BGP VPLS PEs described 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 in section Section 3.2.  If PE4 instead was to
   advertise a C-bit of 0 and an S-bit of 1, then
   despite the CW mismatch the PW between PE1 and
   PE4 would come up.
   Additionally up despite the CW mismatch.  Additionally, PE1 would setup
   set up its data-plane data plane such that it will strip the CW only for those
   VPLS frames that are received from PEs that have indicated their
   desire to receive CW marked CW-marked frames.  So, PE1 will
   setup set up its data
   plane to strip the CW only for VPLs VPLS frames received from PE2 and PE3 PE3,
   and it will expect to process PW frames containing non-zero sequence
   numbers as listed described in section Section 4.2 in [RFC4385].  PE1 will setup set up
   its data-plane data plane to not strip the CW from frames received from PE4 PE4, and
   it it would 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.

6

6.  Treatment of C C-Bits and S bits S-Bits in multi-homing scenarios

6.1 Multihoming Scenarios

6.1.  Control word (C-bit) Word (C-Bit)

   In multi-homed a multihomed environment, different PEs may effectively represent
   the same service destination end-point. endpoint.  It could be assumed that the
   end-to-end PW establishment process should follow the same rules when
   it comes to control word requirement, CW requirements, meaning that setting the C-bit would be
   enforced equally toward both primary and backup designated
   forwarders.

   However, in the multi-homing case multihoming case, each PW SHOULD be evaluated
   independently.  Assuming the network topology specified in section Section 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, while PE2 to PE4 the 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 PEs multi-homing behavior should simply follow the rules specified in
   [VPLS-MULTIHOMING].

6.2

6.2.  Sequence flag (S-bit) Flag (S-Bit)

   In a multi-homed multihomed environment, different PEs may effectively represent
   the same service destination end-point. endpoint.  In this case, the rules for
   end-to-end PW establishment SHOULD follow the same behavior as listed that
   described in section Section 3.2 when it comes to sequence bit S-bit requirements.
   Consider the case described in section Section 5 with CE5 being multi-homed having a connection
   to multiple PEs (multihomed) to PE4 and PE1.  The PW PW's behavior is
   similar to that for the CW scenario so such that the
   insertion of S-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 PE4 doesn'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 PW would be established, -- between PE1 and PE2. PE2 -- would be
   established for the multihomed site shown.  Thus, even though CE5 is
   physically multi-homed, multihomed, due to PE4's lack of support for sending
   frames with non-zero sequence numbers numbers, there would be no PW between
   PE2 and PE4.  CE5 would effectively not be multi-homed.

7 multihomed.

7.  Security Considerations

   This document updates the behavior specified in [RFC4761].  The
   security considerations listed discussed in [RFC4761] apply.  This document
   essentially addresses BGP-VPLS BGP VPLS behavior for PEs when the C-bit and/or value,
   the S-bit value value, 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 of C/S bits
   C/S-bits between PEs do not adversely affect the availability of the
   PWs. Rather  Rather, they cause control-words CWs to not be used or cause the NRLI-advertising
   NLRI-advertising PE to not expect non-
   zero non-zero sequenced frames, for the
   C-bit and the S-bit respectively S-bit, respectively, being mismatched across PEs.  This
   is no worse than the previous behavior where any bit-flipping media
   errors leading to a mismatch of C/S bit the C/S-bits between PEs would cause
   the PW to not come up.

8

8.  IANA Considerations

   This document does not make any requests from IANA.

9 has no IANA actions.

9.  References

9.1

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997. 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4761]  Kompella, K., Ed. and Y. Rekhter, Virtual Ed., "Virtual Private
              LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling,
              Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007. 2007,
              <https://www.rfc-editor.org/info/rfc4761>.

   [RFC4385]  Bryant, S., Swallow Swallow, G., Martini Martini, L., and D. McPherson,
               Pseudowire
              "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word, Word for
              Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385,
              February 2006. 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, May 2017.

9.2 2017,
              <https://www.rfc-editor.org/info/rfc8174>.

9.2.  Informative References

   [RFC3985]  Bryant, S., Ed. and P. Pate, Pseudo Ed., "Pseudo Wire Emulation
              Edge-to-Edge (PWE3) Architecture, RFC3985, Architecture", RFC 3985,
              DOI 10.17487/RFC3985, March 2005. 2005,
              <https://www.rfc-editor.org/info/rfc3985>.

   [VPLS-MULTIHOMING]
              Kothari, B., et al, BGP Kompella, K., Henderickx, W., Balus, F.,
              and J. Uttaro, "BGP based Multi-homing in Virtual
              Private LAN Service,
               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  94089
      US
      EMail:
   United States of America

   Email: ravis@juniper.net

   Kireeti Kompella
   Juniper Networks
   1133 Innovation Way
   Sunnyvale, CA  94089
      US
      EMail:
   United States of America

   Email: kireeti@juniper.net

   Senad Palislamovic
   Nokia
   600 Mountain Avenue
   Murray Hill, NJ  07974-0636
      US

      EMail:
   United States of America

   Email: Senad.palislamovic@nokia.com