<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" category="std" updates="4761" docName="draft-ietf-bess-vpls-multihoming-07" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="VPLS Multi-homing">BGP based Multi-homing in
	Virtual Private LAN Service</title>
    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>HPE</organization>
      <address>
        <postal>
          <street>1137 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>US</country>
        </postal>
        <email>kireeti.kompella@gmail.com</email>
      </address>
    </author>
    <author initials="B." surname="Kothari" fullname="Bhupesh Kothari">
      <organization>NVIDIA</organization>
      <address>
        <email>bhupesh@anvaya.net</email>
      </address>
    </author>
    <author initials="W." surname="Henderickx" fullname="Wim Henderickx">
      <organization>Nokia</organization>
      <address>
        <email>wim.henderickx@nokia.com</email>
      </address>
    </author>
    <author initials="F." surname="Balus" fullname="Florin Balus">
      <organization>Cisco</organization>
      <address>
        <email>fbalus@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Uttaro" fullname="James Uttaro">
      <organization>AT&amp;T</organization>
      <address>
        <postal>
          <street>200 S. Laurel Avenue</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>US</country>
        </postal>
        <email>uttaro@att.com</email>
      </address>
    </author>
    <date/>
    <area>Internet</area>
    <keyword>VPLS BGP redundancy multi-homing</keyword>
    <abstract>
      <t>
	  Virtual Private LAN Service (VPLS) is a Layer 2 Virtual
	  Private Network (VPN) that gives its customers the
	  appearance that their sites are connected via a Local Area
	  Network (LAN). It is often required for the Service Provider
	  (SP) to give the customer redundant connectivity to some
	  sites, often called "multi-homing". This memo shows how
	  BGP-based multi-homing can be offered in the context of LDP
	  and BGP VPLS solutions.  This document updates RFC 4761 by
	  defining new flags in the Control Flags field of the Layer2
	  Info Extended Community.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
    Virtual Private LAN Service (VPLS) is a Layer 2 Virtual Private
    Network (VPN) that gives its customers the appearance that their
    sites are connected via a Local Area Network (LAN).  It is often
    required for a Service Provider (SP) to offer
    redundant VPLS connectivity to a customer site, often called
    "multi-homing".  <xref target="RFC4761" format="default"/> explains how VPLS can be
    offered using BGP for both auto-discovery and signaling; section 3.5 of
    that document describes how multi-homing can be achieved in this
    context. Alternatively, VPLS can be offered using
    BGP for auto-discovery (BGP-AD: <xref target="RFC6074" format="default"/>) and LDP for
    signaling (<xref target="RFC4762" format="default"/>).  This document provides a BGP-based
    multi-homing (MH) solution applicable to both the above VPLS technologies.
    Note that BGP MH can be used for LDP VPLS without the use of the BGP-AD
    solution.
      </t>
      <t>
    <xref target="backg" format="default"/> lays out some of the scenarios for
    multi-homing, other ways that this can be achieved, and some of
    the expectations of BGP-based multi-homing.  <xref target="sec-operation" format="default"/> defines the components of BGP-based multi-homing,
    and the procedures required to achieve this.
      </t>
      <section numbered="true" toc="default">
        <name>General Terminology</name>
        <t>
	Some general terminology is defined here; most is from
	<xref target="RFC4761" format="default"/>, <xref target="RFC4762" format="default"/> or
	<xref target="RFC4364" format="default"/>.  Terminology specific to this memo
	is introduced as needed in later sections.
        </t>
        <t>
	A "Customer Edge" (CE) device, typically located on customer
	premises, connects to a "Provider Edge" (PE) device, which is
	owned and operated by the SP.  A "Provider" (P) device is also
	owned and operated by the SP, but has no direct customer
	connections.  A "VPLS Edge" (VE) device is a PE that offers
	VPLS services.
        </t>
        <t>
	A VPLS domain represents a bridging domain per customer.  A
	Route Target community as described in <xref target="RFC4360" format="default"/> is typically used to identify all the PE
	routers participating in a particular VPLS domain.  A VPLS
	site is a grouping of ports on a PE that belong to the same
	VPLS domain.  The terms "VPLS instance" and "VPLS domain" are
	used interchangeably in this document.
        </t>
        <t>
	If the CE devices that connect to a VPLS site's ports have
	connectivity to any other PE device then the VPLS site is
	called a multi-homed VPLS site.  Otherwise, it is called a
	single-homed VPLS site.  The ports are partitioned between
	VPLS sites such that each port is in no more than one VPLS
	site.
        </t>
        <t>
	BGP VPLS NLRI as specified in section 3.2.2 in <xref target="RFC4761" format="default"/> includes a number of fields.  This document 
	refers to the VE-ID, VE block offset, block size and label base 
	from that RFC. A BGP VPLS NLRI for the base VPLS instance that 
	has non-zero VE block offset, VE block size and label base is 
	called a VE NLRI in this document.  Each VPLS instance is 
	uniquely identified by a VE-ID. 
        </t>
        <t>
	A VPLS NLRI with value zero for the VE block offset, VE
	block size and label base is called as CE NLRI in this
	document.  <xref target="sec-ce-nlri" format="default"/> defines CE
	NLRI and provides more detail.
        </t>
        <t>
	A Multi-homed (MH) site is uniquely identified by a CE-ID.
	Sites are referred to as local or remote depending on
	whether they are configured on the PE router in context or
	on one of the remote PE routers (network peers).  A
	single-homed site can also be assigned a CE-ID, but it is
	not mandatory to configure a CE-ID for single-homed sites.
	<xref target="sec-ce-nlri" format="default"/> provides detail on
	CE-ID.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Conventions</name>
        <t>
	The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
	NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
	"OPTIONAL" in this document are to be interpreted as described
	in <xref target="RFC2119" format="default"/> and further clarified in <xref target="RFC8174" format="default"/>.
        </t>
      </section>
    </section>
    <section anchor="backg" numbered="true" toc="default">
      <name>Background</name>
      <t>
    This section describes various scenarios where multi-homing may be
    required, and the implications thereof.  It also describes some of
    the singular properties of VPLS multi-homing, and what that means
    from both an operational point of view and an implementation point
    of view.  There are other approaches for providing multi-homing
    such as Spanning Tree Protocol; this document only specifies use of
    BGP for multi-homing.  Comprehensive comparison among the
    approaches is outside the scope of this document.
      </t>
      <section numbered="true" toc="default">
        <name>Scenarios</name>
        <t>
        </t>
        <t keepWithNext="true">
	    In <xref target="fig-single-site" format="default"/>, CE1 is a VPLS CE that is
	    dual-homed to both PE1 and PE2 for redundant connectivity.
        </t>
        <figure anchor="fig-single-site">
          <name>Scenario 1</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
                          ...............
                         .               .    ___ CE2
                   ___ PE1                .  /
                  /    :                  PE3
               __/    :       Service      :
           CE1 __     :       Provider    PE4
                 \     :                   : \___ CE3
                  \___ PE2                .
                         .               .
                          ...............
            ]]></artwork>
        </figure>
        <t keepWithNext="true">
            In <xref target="fig-multi-site" format="default"/>, CE1 is a VPLS CE that is
            dual-homed to both PE1 and PE2 for redundant connectivity.
            However, CE4, which is also in the same VPLS domain, is
            single-homed to just PE1.
        </t>
        <figure anchor="fig-multi-site">
          <name>Scenario 2</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
           CE4 -------    ...............
                      \  .               .    ___ CE2
                   ___ PE1                .  /
                  /    :                  PE3
               __/    :       Service      :
           CE1 __     :       Provider    PE4
                 \     :                   : \___ CE3
                  \___ PE2                .
                         .               .
                          ...............
	    ]]></artwork>
        </figure>
      </section>
      <section numbered="true" toc="default">
        <name>VPLS Multi-homing Considerations</name>
        <t>
	The first (perhaps obvious) fact about a multi-homed VPLS CE,
	such as CE1 in <xref target="fig-single-site" format="default"/> is that if CE1
	is an Ethernet switch or bridge, a loop has been created in
	the customer VPLS.  This is a dangerous situation for an
	Ethernet network, and the loop must be broken.  Even if CE1 is
	a router, it will get duplicates every time a packet is
	flooded, which is clearly undesirable.
        </t>
        <t>
	The next is that (unlike the case of IP-based multi-homing)
	only one of PE1 and PE2 can be actively sending traffic,
	either towards CE1 or into the SP cloud.  That is to say, load
	balancing techniques will not work.  All other PEs MUST choose
	the same designated forwarder for a multi-homed site.  Call
	the PE that is chosen to send traffic to/from CE1 the
	"designated forwarder".  
        </t>
        <t>
	In <xref target="fig-multi-site" format="default"/>, CE1 and CE4 must be dealt
	with independently, since CE1 is dual-homed, but CE4 is not.
        </t>
      </section>
    </section>
    <section anchor="sec-operation" numbered="true" toc="default">
      <name>Multi-homing Operation</name>
      <t>
    This section describes procedures for electing a designated
    forwarder among the set of PEs that are multi-homed to a customer
    site.  The procedures described in this section are applicable to
    BGP based VPLS, LDP based VPLS with BGP-AD or a VPLS that contains
    a mix of both BGP and LDP signaled PWs.
      </t>
      <section anchor="sec-ce-nlri" numbered="true" toc="default">
        <name>Customer Edge (CE) NLRI</name>
        <t>
	Section 3.2.2 in <xref target="RFC4761" format="default"/> specifies a NLRI to
	be used for BGP based VPLS (BGP VPLS NLRI).  The format of the
	BGP VPLS NLRI is shown below.

        </t>
        <figure anchor="fig-bgp-nlri">
          <name>BGP VPLS NLRI</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
      +------------------------------------+
      |  Length (2 octets)                 |
      +------------------------------------+
      |  Route Distinguisher  (8 octets)   |
      +------------------------------------+
      |  VE ID (2 octets)                  |
      +------------------------------------+
      |  VE Block Offset (2 octets)        |
      +------------------------------------+
      |  VE Block Size (2 octets)          |
      +------------------------------------+
      |  Label Base (3 octets)             |
      +------------------------------------+

	  ]]></artwork>
        </figure>
        <t>

	For multi-homing operation, a customer-edge NLRI (CE NLRI) is
	proposed that uses BGP VPLS NLRI with the following fields set
	to zero: VE Block Offset, VE Block Size and Label Base.  In
	addition, the VE-ID field of the NLRI is set to CE-ID.  Thus,
	the CE NLRI contains 2 octets indicating the length, 8 octets
	for Route Distinguisher, 2 octets for CE-ID and 7 octets with
	value zero.
        </t>
        <t>
	It is valid to have non-zero VE block offset, VE block size
	and label base in the VPLS NLRI for a multi-homed site.  VPLS
	operations, including multi-homing, in such a case are outside
	the scope of this document.  However, for interoperability
	with existing deployments that use non-zero VE block offset,
	VE block size and label base for multi-homing operation, <xref target="sec-bgp-back-comp" format="default"/> provides more detail.
        </t>
        <t>
	Wherever VPLS NLRI is used in this document, context must be
	used to infer if it is applicable for CE NLRI, VE NLRI or for
	both. 
        </t>
      </section>
      <section anchor="sec-provisioning" numbered="true" toc="default">
        <name>Deployment Considerations</name>
        <t>
	It is mandatory that each instance within a VPLS domain MUST
	be provisioned with a unique Route Distinguisher value.
	Unique Route Distinguisher allows VPLS advertisements from
	different VPLS PEs to be distinct even if the advertisements
	have the same VE-ID, which can occur in case of multi-homing.
	This allows standard BGP path selection rules to be applied to
	VPLS advertisements.
        </t>
        <t>
	Each VPLS PE must advertise a unique VE-ID with non-zero VE
	Block Offset, VE Block Size and Label Base values in the BGP
	NLRI.  VE-ID is associated with the base VPLS instance and the
	NLRI associated with it must be used for creating PWs among
	VPLS PEs.  Any single-homed customer sites connected to the
	VPLS instance do not require any special addressing.  However,
	an administrator (SP operator) can choose to have a CE-ID for a
	single-homed site as well.  Any multi-homed customer sites
	connected to the VPLS instance require special addressing,
	which is achieved by use of CE-ID.  A set of customer sites
	are distinguished as multi-homed if they all have the same
	CE-ID.  The following examples illustrate the use of VE-ID and
	CE-ID.
        </t>
        <t>
	<xref target="fig-single-site" format="default"/> shows a customer site, CE1,
	multi-homed to two VPLS PEs, PE1 and PE2.  In order for all
	VPLS PEs to set up PWs to each other, each VPLS PE must be
	configured with a unique VE-ID for its base VPLS instance.  In
	addition, in order for all VPLS PEs within the same VPLS
	domain to elect one of the multi-homed PEs as the designated
	forwarder, an indicator that the PEs are multi-homed to the
	same customer site is required.  This is achieved by assigning
	the same VPLS site ID (CE-ID) on PE1 and PE2 for CE1.
	When remote VPLS PEs receive NLRI advertisement from PE1 and
	PE2 for CE1, the two NLRI advertisements for CE1 are
	identified as candidates for designated forwarder selection
	due to the same CE-ID.  Thus, same CE-ID MUST be assigned on
	all VPLS PEs that are multi-homed to the same customer site.
        </t>
        <t>
	<xref target="fig-multi-site" format="default"/> shows two customer sites, CE1
	and CE4, connected to PE1 with CE1 multi-homed to PE1 and PE2.
	Similar to <xref target="fig-single-site" format="default"/> provisioning
	model, each VPLS PE must be configured with a unique VE-ID for
	it base VPLS instance.  CE1 which is multi-homed to PE1 and
	PE2 requires configuration of CE-ID and both PE1 and PE2 MUST
	be provisioned with the same CE-ID for CE1. CE2 and CE3 are
	single-homed sites and do not require special addressing.
	However, an operator must configure a CE-ID for CE4 on PE1.
	By doing so, remote PEs can determine that PE1 has two VPLS
	sites, CE1 and CE4.  If both CE1 and CE4 connectivity to PE1
	is down, remote PEs can choose based on D bit in VE NLRI not
	to send multicast traffic to PE1 as there are no VPLS sites
	reachable via PE1.  If CE4 was not assigned a unique CE-ID,
	remote PEs have no way to know if there are other VPLS sites
	attached and hence, would always send multicast traffic to
	PE1.  While CE2 and CE3 can also be configured with unique
	CE-IDs, there is no advantage in doing so as both PE3 and PE4
	have exactly one VPLS site.
        </t>
        <t>
	Note that a CE-ID=0 is invalid and a PE MUST discard such an
	advertisement.
        </t>
        <t>
	  Use of multiple VE-IDs per VPLS instance for either
	  multi-homing operation or for any other purpose is outside
	  the scope of this document.  However, for interoperability
	  with existing deployments that use multiple VE-IDs, <xref target="sec-bgp-back-comp" format="default"/> provides more detail.
        </t>
      </section>
      <section anchor="sec-df-elect" numbered="true" toc="default">
        <name>Designated Forwarder Election</name>
        <t>
	BGP-based multi-homing for VPLS relies on standard BGP path
	selection and VPLS DF election.  The net result of doing
	both BGP path selection and VPLS DF election is that of
	electing a single designated forwarder (DF) among the set of
	PEs to which a customer site is multi-homed.  All the PEs
	that are elected as non-designated forwarders MUST keep
	their attachment circuit to the multi-homed CE in blocked
	status (no forwarding).
        </t>
        <t>
	These election algorithms operate on VPLS advertisements,
	which include both the NLRI and attached BGP attributes.
	These election algorithms are applicable to all VPLS NLRIs,
	and not just to CE NLRIs.  In order to simplify the
	explanation of these algorithms, we will use a number of
	variables derived from fields in the VPLS advertisement.
	These variables are: RD, SITE-ID, VBO, DOM, ACS, PREF and
	PE-ID.  The notation ADV -&gt; &lt;RD, SITE-ID, VBO, DOM, ACS,
	PREF, PE-ID&gt; means that from a received VPLS
	advertisement ADV, the respective variables were derived.
	The following sections describe two attributes needed for DF
	election, then describe the variables and how they are
	derived from fields in VPLS advertisement ADV, and finally
	describe how DF election is done.
        </t>
        <section numbered="true" toc="default">
          <name>Attributes</name>
          <t>
	    The procedures below refer to two attributes: the Route
	    Origin community (see <xref target="sec-ro" format="default"/>) and the
	    L2-info community (see <xref target="sec-ve-pref" format="default"/>).
	    These attributes are required for inter-AS operation; for
	    generality, the procedures below show how they are to be
	    used.  The procedures also outline how to handle the case that
	    either or both are not present.
          </t>
          <t>
	    For BGP-based Multi-homing, ADV MUST contain an L2-info
	    extended community as specified in <xref target="RFC4761" format="default"/>.  Within this community are various
	    control flags.  Two new control flags are proposed in this
	    document.  <xref target="fig-control-flags" format="default"/> shows the
	    position of the new 'D' and 'F' flags.

          </t>
          <t keepWithNext="true">Control Flags Bit Vector</t>
          <figure anchor="fig-control-flags">
            <artwork align="center" name="" type="" alt=""><![CDATA[
                 0 1 2 3 4 5 6 7
                 +-+-+-+-+-+-+-+-+
                 |D|Z|F|Z|Z|Z|C|S| (Z = MUST Be Zero)
                 +-+-+-+-+-+-+-+-+
	      ]]></artwork>
          </figure>
          <ol spacing="normal" type="1"><li>
              <t>
		'D' (Down): Indicates connectivity status.
		In case of CE NLRI, the connectivity status is between
		a VPLS site and a VPLS PE.  In case of VE NLRI, the
		connectivity status is for the VPLS instance.  In case
		of CE NLRI, the bit MUST be set to one if all the
		attachment circuits connecting a VPLS site to a VPLS PE
		are down.  In case of VE NLRI, the bit must be set to
		one if the VPLS instance is operationally down.  Note
		that a VPLS instance that has no connectivity to any
		of its sites must be considered as operationally down.
              </t>
            </li>
            <li>
              <t>
		'F' (Flush): Indicates when to flush MAC
		state.  A designated forwarder must set the F bit and
		a non-designated forwarder must clear the F bit when
		sending BGP CE NLRIs for multi-homed sites.  A state
		transition from one to zero for the F bit can be used
		by a remote PE to flush all the MACs learned from the
		PE that is transitioning from designated forwarder to
		non-designated forwarder.  Refer to <xref target="sec-mac-oper" format="default"/> for more details on the
		use case.
              </t>
            </li>
          </ol>
        </section>
        <section numbered="true" toc="default">
          <name>Variables Used</name>
          <section numbered="true" toc="default">
            <name>RD</name>
            <t>
	      RD is simply set to the Route Distinguisher field in the
	      NLRI part of ADV.  The actual process of assigning Route
	      Distinguisher values MUST guarantee its uniqueness per
	      PE node.  Therefore, two multi-homed PEs offering the
	      same VPLS service to a common set of CEs MUST allocate
	      different RD values for this site respectively.
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>SITE-ID</name>
            <t>
	      SITE-ID is simply set to the VE-ID field in the NLRI
	      part of the ADV.
            </t>
            <t>
	      Note that no distinction is made whether VE-ID is for a
	      multi-homed site or not.
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>VBO</name>
            <t>
	      VBO is simply set to the VE Block Offset field in the
	      NLRI part of ADV.
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>DOM</name>
            <t>
	      This variable, indicating the VPLS domain to which ADV
	      belongs, is derived by applying BGP policy to the Route
	      Target extended communities in ADV.  The details of how
	      this is done are outside the scope of this document.
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>ACS</name>
            <t>
	      ACS is the status of the attachment circuits for a given
	      site of a VPLS.  ACS = 1 if all attachment circuits for
	      the site are down, and 0 otherwise.
            </t>
            <t>
	      ACS is set to the value of the 'D' bit in ADV that
	      belongs to CE NLRI.  If ADV belongs to base VPLS
	      instance (VE NLRI) with non-zero label block values, no
	      change must be made to ACS.
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>PREF</name>
            <t>
	      PREF is derived from the Local Preference (LP) attribute
	      in ADV as well as the VPLS Preference field (VP) in the
	      L2-info extended community.  If the Local Preference
	      attribute is missing, LP is set to 0; if the L2-info
	      community is missing, VP is set to 0.  The following
	      table shows how PREF is computed from LP and VP.
            </t>
            <table anchor="pref-deri" align="center">
              <thead>
                <tr>
                  <th align="center">VP Value</th>
                  <th align="center">LP Value</th>
                  <th align="center">PREF Value</th>
                  <th align="center">Comment</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="center">0</td>
                  <td align="center">0</td>
                  <td align="center">0</td>
                  <td align="center">malformed advertisement, unless ACS=1</td>
                </tr>
                <tr>
                  <td align="center">0</td>
                  <td align="center">1 to (2^16-1)</td>
                  <td align="center">LP</td>
                  <td align="center">backwards compatibility</td>
                </tr>
                <tr>
                  <td align="center">0</td>
                  <td align="center">2^16 to (2^32-1)</td>
                  <td align="center">(2^16-1)</td>
                  <td align="center">backwards compatibility</td>
                </tr>
                <tr>
                  <td align="center">&gt;0</td>
                  <td align="center">LP same as VP</td>
                  <td align="center">VP</td>
                  <td align="center">Implementation supports VP</td>
                </tr>
                <tr>
                  <td align="center">&gt;0</td>
                  <td align="center">LP != VP</td>
                  <td align="center">0</td>
                  <td align="center">malformed advertisement</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section numbered="true" toc="default">
            <name>PE-ID</name>
            <t>
	      If ADV contains a Route Origin (RO) community (see
	      <xref target="sec-ro" format="default"/>) with type 0x01, then PE-ID is
	      set to the Global Administrator sub-field of the RO.
	      Otherwise, if ADV has an ORIGINATOR_ID attribute, then
	      PE-ID is set to the ORIGINATOR_ID.  Otherwise, PE-ID is
	      set to the BGP Identifier.
            </t>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>Election Procedures</name>
          <t>
	    The election procedures described in this section apply
	    equally to BGP VPLS and LDP VPLS.  A distinction MUST NOT
	    be made on whether the NLRI is a multi-homing NLRI or not.
	    Subset of these procedures documented in standard BGP best
	    path selection deals with general IP Prefix BGP route
	    selection processing as defined in <xref target="RFC4271" format="default"/>.  A separate part of the algorithm
	    defined under VPLS DF election is specific to designated
	    forwarder election procedures performed on VPLS
	    advertisements.  A concept of bucketization is introduced
	    to define route selection rules for VPLS advertisements.
	    Note that this is a conceptual description of the process;
	    an implementation MAY choose to realize this differently
	    as long as the semantics are preserved.
          </t>
          <section anchor="sec-bgp-bucket" numbered="true" toc="default">
            <name>Bucketization for standard BGP path selection</name>
            <t>
	      An advertisement
            </t>
            <artwork align="left" name="" type="" alt=""><![CDATA[
        ADV -> <RD, SITE-ID, VBO, ACS, PREF, PE-ID>
	      ]]></artwork>
            <t>
		
	      is put into the bucket for
	      &lt;RD, SITE-ID, VBO&gt;.  In other words, the
	      information in BGP path selection consists of &lt;RD,
	      SITE-ID, VBO&gt; and only advertisements with exact same
	      &lt;RD, SITE-ID, VBO&gt; are candidates for BGP path
	      selection procedure as defined in <xref target="RFC4271" format="default"/>. 
            </t>
          </section>
          <section numbered="true" toc="default">
            <name>Bucketization for VPLS DF Election</name>
            <t>
	      An advertisement
            </t>
            <artwork align="left" name="" type="" alt=""><![CDATA[
        ADV -> <RD, SITE-ID, VBO, DOM, ACS, PREF, PE-ID>
	      ]]></artwork>
            <t>
		
	      is discarded if DOM is not of interest to the VPLS PE.
	      Otherwise, ADV is put into the bucket for &lt;DOM,
	      SITE-ID&gt;.  In other words, all advertisements for a
	      particular VPLS domain that have the same SITE-ID are
	      candidates for VPLS DF election.
            </t>
          </section>
          <section anchor="sec-tie-break" numbered="true" toc="default">
            <name>Tie-breaking Rules</name>
            <t>
	      This section describes the tie-breaking rules for VPLS
	      DF election.  Tie-breaking rules for VPLS DF election
	      are applied to candidate advertisements by all VPLS PEs
	      and the actions taken by VPLS PEs based on the VPLS DF
	      election result are described in <xref target="sec-df-proc" format="default"/>.
            </t>
            <t>
	      Given two advertisements ADV1 and ADV2 from a given
	      bucket, first compute the variables needed for DF
	      election:

            </t>
            <artwork align="left" name="" type="" alt=""><![CDATA[
        ADV1 -> <RD1, SITE-ID1, VBO1, DOM1, ACS1, PREF1, PE-ID1>
        ADV2 -> <RD2, SITE-ID2, VBO2, DOM2, ACS2, PREF2, PE-ID2>
	      ]]></artwork>
            <t>

	      Note that SITE-ID1 = SITE-ID2 and DOM1 = DOM2, since
	      ADV1 and ADV2 came from the same bucket.  Then the
	      following tie-breaking rules MUST be applied in the
	      given order.

            </t>
            <ol spacing="normal" type="1"><li>
                <t>
		  if (ACS1 != 1) AND (ACS2 == 1) ADV1 wins; stop </t>
                <t> 
		  if (ACS1 == 1) AND (ACS2 != 1) ADV2 wins; stop </t>
                <t> 
		  else continue
                </t>
              </li>
              <li>
                <t>
		  if (PREF1 &gt; PREF2) ADV1 wins; stop; </t>
                <t>
		  else if (PREF1 &lt; PREF2) ADV2 wins; stop;</t>
                <t>
		  else continue
                </t>
              </li>
              <li>
                <t>
		  if (PE-ID1 &lt; PE-ID2) ADV1 wins; stop;</t>
                <t>
		  else if (PE-ID1 &gt; PE-ID2) ADV2 wins; stop; </t>
                <t>
		  else ADV1 and ADV2 are from the same VPLS PE
                </t>
              </li>
            </ol>
            <t>
	      If there is no winner and ADV1 and ADV2 are from the
	      same PE, a VPLS PE MUST retain both ADV1 and ADV2.
            </t>
          </section>
        </section>
      </section>
      <section anchor="sec-df-proc" numbered="true" toc="default">
        <name>DF Election on PEs</name>
        <t>
	DF election algorithm MUST be run by all multi-homed VPLS PEs.
	In addition, all other PEs SHOULD also run the DF election
	algorithm.  As a result of the DF election, multi-homed PEs
	that lose the DF election for a SITE-ID MUST put the ACs
	associated with the SITE-ID in non-forwarding state.
        </t>
        <t>
	DF election result on the egress PEs can be used in traffic
	forwarding decision.  <xref target="fig-multi-site" format="default"/> shows
	two customer sites, CE1 and CE4, connected to PE1 with CE1
	multi-homed to PE1 and PE2.  If PE1 is the designated
	forwarder for CE1, based on the DF election result, PE3 can
	choose to not send unknown unicast and multicast traffic to PE2
	as PE2 is not the designated forwarder for any customer site
	and it has no other single homed sites connected to it.
        </t>
      </section>
      <section anchor="sec-pw-site-binding" numbered="true" toc="default">
        <name>Pseudowire and Site-ID Binding Properties</name>
        <t>
	For the use case where a single PE provides connectivity to a
	set of CEs where some CEs are multi-homed and others are not,
	only a single pseudowire MAY be established.  For example, if
	PE1 provides VPLS service to CE1 and CE4 which are both part
	of the same VPLS domain, but different sites, and CE1 is
	multi-homed, but CE4 is not (as described in figure 2), PE3
	could establish only single pseudowire toward PE1.  A design
	needs to ensure that regardless of PE1's forwarding state in
	respect to DF or non-DF for multi-homed CE1, PE3s access to
	CE4 is established.  Since label allocation and pseudowire
	establishment is tied to site-ID, we need to ensure that proper
	pseudowire bindings are established.
        </t>
        <t>
	For set of given advertisements with the common DOM but with
	different Site-ID values, a VPLS PE speaker SHOULD instantiate
	and bind the pseudowire based on advertisement with the lowest
	Site-ID value.  Otherwise, binding would be completely random
	and during DF changes for multi-homed site, non-multi-homed CE
	might suffer traffic loss.
        </t>
      </section>
    </section>
    <section anchor="sec-multi-as" numbered="true" toc="default">
      <name>Multi-AS VPLS</name>
      <t>
    This section describes multi-homing in an inter-AS context.
      </t>
      <section anchor="sec-ro" numbered="true" toc="default">
        <name>Route Origin Extended Community</name>
        <t>
      Due to lack of information about the PEs that originate the
      VPLS NLRIs in inter-AS operations, Route Origin Extended
      Community <xref target="RFC4360" format="default"/> is used to carry the
      source PE's IP address.
        </t>
        <t>
      To use Route Origin Extended Community for carrying the
      originator VPLS PE's loopback address, the type field of the
      community MUST be set to 0x01 and the Global Administrator
      sub-field MUST be set to the PE's loopback IP address. The Local
      Administrator sub-field SHOULD be set to zero on sending, and on
      receipt, a non-zero value MUST be ignored.
        </t>
      </section>
      <section anchor="sec-ve-pref" numbered="true" toc="default">
        <name>VPLS Preference</name>
        <t>
      When multiple PEs are assigned the same site ID for
      multi-homing, it is often desired to be able to control the
      selection of a particular PE as the designated forwarder.
      <xref target="RFC4761" format="default">Section 3.5 in </xref> describes the use
      of BGP Local Preference in path selection to choose a particular
      NLRI, where Local Preference indicates the degree of preference
      for a particular VE.  The use of Local Preference is inadequate
      when VPLS PEs are spread across multiple ASes as Local
      Preference is not carried across AS boundary.  A new field, VPLS
      preference (VP), is introduced in this document that can be used
      to accomplish this.  VPLS preference indicates a degree of
      preference for a particular customer site.  VPLS preference is
      not mandatory for intra-AS operation; the algorithm explained in
      <xref target="sec-df-elect" format="default"/> will work with or without the
      presence of VPLS preference.
        </t>
        <t>
      <xref target="RFC4761" format="default">Section 3.2.4 in </xref> describes the
      Layer2 Info Extended Community that carries control
      information about the pseudowires.  The last two octets that
      were reserved now carries VPLS preference as shown in
      <xref target="fig-ext-comm" format="default"/>.
        </t>
        <figure anchor="fig-ext-comm">
          <name>Layer2 Info Extended Community</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
      +------------------------------------+
      | Extended community type (2 octets) |
      +------------------------------------+
      |  Encaps Type (1 octet)             |
      +------------------------------------+
      |  Control Flags (1 octet)           |
      +------------------------------------+
      |  Layer-2 MTU (2 octet)             |
      +------------------------------------+
      |  VPLS Preference (2 octets)        |
      +------------------------------------+
      ]]></artwork>
        </figure>
        <t>
      A VPLS preference is a 2-octets unsigned integer.  A value of
      zero indicates absence of a VP and is not a valid
      preference value.  This interpretation is required for
      backwards compatibility.  Implementations using Layer2 Info
      Extended Community as described
      in <xref target="RFC4761" format="default">(Section 3.2.4)</xref> MUST set the
      last two octets as zero since it was a reserved field.
        </t>
        <t>
      For backwards compatibility, if VPLS preference is used, then
      BGP Local Preference MUST be set to the value of VPLS
      preference.  Note that a Local Preference value of zero for a
      CE-ID is not valid unless 'D' bit in the control flags is set
      (see <xref target="I-D.kothari-l2vpn-auto-site-id" format="default"/>).  In
      addition, Local Preference value greater than or equal to 2^16
      for VPLS advertisements is not valid.
        </t>
      </section>
      <section anchor="sec-inter-as-methods" numbered="true" toc="default">
        <name>Use of BGP attributes in Inter-AS Methods</name>
        <t>
      <xref target="RFC4761" format="default">Section 3.4 in </xref> and 
      <xref target="RFC6074" format="default"> section 4 in </xref>
      describe three methods (a, b and c) to connect sites in a VPLS
      to PEs that are across multiple AS.  Since VPLS advertisements
      in method (a) do not cross AS boundaries, multi-homing
      operations for method (a) remain exactly the same as they are
      within as AS.  However, for method (b) and (c), VPLS
      advertisements do cross AS boundary.  This section describes the
      VPLS operations for method (b) and method (c).  Consider
      <xref target="fig-multi-as" format="default"/> for inter-AS VPLS with
      multi-homed customer sites.
        </t>
        <section anchor="sec-option-b" numbered="true" toc="default">
          <name>Inter-AS Method (b): EBGP Redistribution of VPLS       Information between ASBRs</name>
          <figure anchor="fig-multi-as">
            <name>Inter-AS VPLS</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[



                        AS1                    AS2
                       ........               ........
        CE2 _______   .        .             .        .
                ___ PE1         .           .          PE3 --- CE3
               /    :            .         .            :     
            __/    :             :         :             :     
        CE1 __     :           ASBR1 --- ASBR2           :       
              \     :            :         :            :      
               \___ PE2         .           .          PE4 ---- CE4
                      .        .             .         .
                       ........                ........


	]]></artwork>
          </figure>
          <t>
	A customer has four sites, CE1, CE2, CE3 and CE4. CE1 is
	multi-homed to PE1 and PE2 in AS1. CE2 is single-homed to
	PE1. CE3 and CE4 are also single homed to PE3 and PE4
	respectively in AS2. Assume that in addition to the base
	LDP/BGP VPLS addressing (VSI-IDs/VE-IDs), CE-ID 1 is assigned
	for CE1. After running DF election algorithm, all four VPLS
	PEs must elect the same designated forwarder for CE1
	site. Since BGP Local Preference is not carried across AS
	boundary, VPLS preference as described in
	<xref target="sec-ve-pref" format="default"/> MUST be used for carrying site
	preference in inter-AS VPLS operations.
          </t>
          <t>
	For Inter-AS method (b) ASBR1 will send a VPLS NLRI received
	from PE1 to ASBR2 with itself as the BGP nexthop. ASBR2 will
	send the received NLRI from ASBR1 to PE3 and PE4 with itself
	as the BGP nexthop. Since VPLS PEs use BGP Local Preference in
	DF election, for backwards compatibility, ASBR2 MUST set the
	Local Preference value in the VPLS advertisements it sends to
	PE3 and PE4 to the VPLS preference value contained in the VPLS
	advertisement it receives from ASBR1. ASBR1 MUST do the same
	for the NLRIs it sends to PE1 and PE2. If ASBR1 receives a
	VPLS advertisement without a valid VPLS preference from a PE
	within its AS, then ASBR1 MUST set the VPLS preference in the
	advertisements to the Local Preference value before sending it
	to ASBR2. Similarly, ASBR2 must do the same for advertisements
	without VPLS Preference it receives from PEs within its
	AS. Thus, in method (b), ASBRs MUST update the VPLS and Local
	Preference based on the advertisements they receive either
	from an ASBR or a PE within their AS.
          </t>
          <t>
	In <xref target="fig-multi-as" format="default"/>, PE1 will send the VPLS
	advertisements with Route Origin Extended Community containing
	its loopback address.  PE2 will do the same.  Even though PE3
	receives the VPLS advertisements for VE-ID 1 and 2 from the
	same BGP nexthop, ASBR2, the source PE address contained in
	the Route Origin Extended Community is different for the CE1
	and CE2 advertisements, and thus, PE3 creates two PWs, one for
	CE1 (for VE-ID 1) and another one for CE2 (for VE-ID 2).
          </t>
        </section>
        <section anchor="sec-option-c" numbered="true" toc="default">
          <name>Inter-AS Method (c): Multi-Hop EBGP Redistribution of VPLS       Information between ASes</name>
          <t>
	In this method, there is a multi-hop E-BGP peering between the
	PEs or Route Reflectors in AS1 and the PEs or Route Reflectors
	in AS2.  There is no VPLS state in either control or data
	plane on the ASBRs.  The multi-homing operations on the PEs in
	this method are exactly the same as they are in intra-AS
	scenario.  However, since Local Preference is not carried
	across AS boundary, the translation of LP to VP and vice versa
	MUST be done by RR, if RR is used to reflect VPLS
	advertisements to other ASes.  This is exactly the same as
	what a ASBR does in case of method (b).  A RR must set the VP
	to the LP value in an advertisement before sending it to other
	ASes and must set the LP to the VP value in an advertisement
	that it receives from other ASes before sending to the PEs
	within the AS.
          </t>
        </section>
      </section>
    </section>
    <section anchor="sec-mac-oper" numbered="true" toc="default">
      <name>MAC Flush Operations</name>
      <t>
  In a service provider VPLS network, customer MAC learning is confined
  to PE devices and any intermediate nodes, such as a Route Reflector,
  do not have any state for MAC addresses.
      </t>
      <t>
  Topology changes either in the service provider's network or in
  customer's network can result in the movement of MAC addresses from
  one PE device to another.  Such events can result into traffic being
  dropped due to stale state of MAC addresses on the PE devices.  Age
  out timers that clear the stale state will resume the traffic
  forwarding, but age out timers are typically in minutes, and
  convergence of the order of minutes can severely impact customer's
  service.  To handle such events and expedite convergence of traffic,
  flushing of affected MAC addresses is highly desirable.
      </t>
      <section anchor="sec-flush-indicators" numbered="true" toc="default">
        <name>MAC Flush Indicators</name>
        <t>
      If 'D' bit in the control flags is set in a received VE NLRI,
      the receiving PE SHOULD flush all the MAC addresses learned from
      the PE advertising the failure.
        </t>
        <t>
      Anytime a designated forwarder change occurs, a remote PE SHOULD
      flush all the MAC addresses it learned from the PE that lost the
      DF election (old designated forwarder).  If multiple customer
      sites are connected to the same PE, PE1 as shown in <xref target="fig-multi-site" format="default"/>, and redundancy per site is desired
      when multi-homing procedures described in this document are in
      effect, then it is desirable to flush just the relevant MAC
      addresses from a particular site when the site connectivity is
      lost.  However, procedures for flushing a limited set of MAC
      addresses are beyond the scope of this document.  Use of either
      'D' or 'F' bit in control flags only allows to flush all MAC
      addresses associated with a PE.
        </t>
        <t>
       Designated forwarder change can occur in absence of failures,
       such as when an attachment circuit comes up.  Consider the case
       in <xref target="fig-multi-site" format="default"/> where PE1-CE1 link is
       non-operational and PE2 is the designated forwarder for CE1.
       Also assume that Local Preference of PE1 is higher than PE2.
       When PE1-CE1 link becomes operational, PE1 will send a BGP CE
       advertisement for CE1 to all it's peers.  If PE3 performs the
       DF election before PE2, there is a chance that PE3 might learn
       MAC addresses from PE2 after it was done electing PE1.  This
       can happen since PE2 has not yet processed the BGP CE
       advertisement from PE1 and as a result continues to send
       traffic to PE3.  This can cause traffic from PE3 to CE1 to
       black-hole until those MAC addresses are deleted due to age out
       timers.  Therefore, to avoid such race-conditions, a designated
       forwarder must set the F bit and a non-designated forwarder
       must clear the F bit when sending BGP CE advertisements.  A
       state transition from one to zero for the 'F' bit can be used
       by a remote PE to flush all the MACs learned from the PE that
       is transitioning from designated forwarder to non-designated
       forwarder.
        </t>
      </section>
      <section anchor="sec-link-flaps" numbered="true" toc="default">
        <name>Minimizing the effects of fast link transitions</name>
        <t>
      Certain failure scenarios may result in fast transitions of the
      link towards the multi-homing CE which in turn will generate
      fast status transitions of one or multiple multi-homed sites
      reflected through multiple BGP CE advertisements and LDP MAC
      Flush messages.
        </t>
        <t>
      It is recommended that a timer to damp the link flaps be used
      for the port towards the multi-homed CE to minimize the number
      of MAC Flush events in the remote PEs and the occurrences of BGP
      state compression for F bit transitions.  A timer value more
      than the time it takes BGP to converge in the network is
      recommended. 
        </t>
      </section>
    </section>
    <section anchor="sec-backwards-comp" numbered="true" toc="default">
      <name>Backwards Compatibility</name>
      <t>
    No forwarding loops are formed when PEs or Route
    Reflectors that do not support the procedures defined in
    this section co-exist in the network with PEs or Route
    Reflectors that do support the procedures.
      </t>
      <section anchor="sec-bgp-back-comp" numbered="true" toc="default">
        <name>BGP based VPLS</name>
        <t>
      As explained in this section, multi-homed PEs to the same
      customer site MUST assign the same CE-ID and related NLRI SHOULD
      contain the block offset, block size and label base as zero.
      Remote PEs that lack support of multi-homing operations
      specified in this document will fail to create any PWs for the
      multi-homed CE-IDs due to the label value of zero and thus, the
      multi-homing NLRI should have no impact on the operation of
      Remote PEs that lack support of multi-homing operations
      specified in this document.
        </t>
        <t>
      For compatibility with PEs that use multiple VE-IDs with
      non-zero label block values for multi-homing operation, a PE 
      receiving such advertisements MUST use the labels in the NLRIs 
      associated with lowest VE-ID for PW creation.  It is possible that 
      maintaining PW association with lowest VE-ID can result in a flap 
      of the PW, and thus, temporary traffic loss. However, it is 
      necessary to maintain the association of PW with the lowest VE-ID 
      as it provides deterministic DF election among all the VPLS PEs.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>LDP VPLS with BGP Auto-discovery</name>
        <t>
      The BGP-AD NLRI has a prefix length of 12 containing only a 8
      bytes RD and a 4 bytes VSI-ID.  If a LDP VPLS PEs running BGP AD
      lacks support of multi-homing operations specified in this
      document, it SHOULD ignore a CE NLRI with the length field of
      17.  As a result it will not ask LDP to create any PWs for the
      multi-homed Site-ID and thus, the multi-homing NLRI should have
      no impact on LDP VPLS operation.  MH PEs may use existing LDP
      MAC Flush to flush the remote LDP VPLS PEs or may use the MAC
      Flush procedures as described in <xref target="sec-mac-oper" format="default"/>
        </t>
      </section>
    </section>
    <section anchor="sec-con" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
     No new security issues are introduced beyond those that are
     described in <xref target="RFC4761" format="default"/> and <xref target="RFC4762" format="default"/>.
      </t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
      IANA already has a registry for "Layer2 Info Extended
      Community Control Flags Bit Vector"
    <eref target="https://www.iana.org/assignments/bgp-extended-communities"/>
      </t>
      <t>
      This document requires two new bit flags to be assigned as
      follows:
      </t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
           
   Value   Name                               Reference
   -----   --------------------------------   --------------
   D       Down connectivity status           This document
   F       MAC flush indicator                This document
           
         ]]></artwork>
    </section>
    <section numbered="true" toc="default">
      <name>Contributing Authors</name>
      <t>
    The authors would also like to thank Senad Palislamovic and Wen Lin
    for their contribution to the development of this document.
      </t>
      <ul empty="true" spacing="normal">
        <li>
          <t>Senad Palislamovic
          </t>
          <t>
      Nokia
          </t>
          <t>
      Email: senad.palislamovic@nokia.com
          </t>
        </li>
        <li>
          <t>
	Wen Lin
          </t>
          <t>
	Juniper Networks
          </t>
          <t>
	Email: wlin@juniper.net
          </t>
        </li>
      </ul>
    </section>
    <section numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>
    The authors would like to thank Yakov Rekhter, Nischal Sheth,
    Mitali Singh, Ian Cowburn and Jonathan Hardwick for their
    insightful comments and probing questions.
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4761" target="https://www.rfc-editor.org/info/rfc4761" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4761.xml">
          <front>
            <title>Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling</title>
            <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>Virtual Private LAN Service (VPLS), also known as Transparent LAN Service and Virtual Private Switched Network service, is a useful Service Provider offering. The service offers a Layer 2 Virtual Private Network (VPN); however, in the case of VPLS, the customers in the VPN are connected by a multipoint Ethernet LAN, in contrast to the usual Layer 2 VPNs, which are point-to-point in nature.</t>
              <t>This document describes the functions required to offer VPLS, a mechanism for signaling a VPLS, and rules for forwarding VPLS frames across a packet switched network. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4761"/>
          <seriesInfo name="DOI" value="10.17487/RFC4761"/>
        </reference>
        <reference anchor="RFC6074" target="https://www.rfc-editor.org/info/rfc6074" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6074.xml">
          <front>
            <title>Provisioning, Auto-Discovery, and Signaling in Layer 2 Virtual Private Networks (L2VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="B. Davie" initials="B." surname="Davie"/>
            <author fullname="V. Radoaca" initials="V." surname="Radoaca"/>
            <author fullname="W. Luo" initials="W." surname="Luo"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>Provider Provisioned Layer 2 Virtual Private Networks (L2VPNs) may have different "provisioning models", i.e., models for what information needs to be configured in what entities. Once configured, the provisioning information is distributed by a "discovery process". When the discovery process is complete, a signaling protocol is automatically invoked to set up the mesh of pseudowires (PWs) that form the (virtual) backbone of the L2VPN. This document specifies a number of L2VPN provisioning models, and further specifies the semantic structure of the endpoint identifiers required by each model. It discusses the distribution of these identifiers by the discovery process, especially when discovery is based on the Border Gateway Protocol (BGP). It then specifies how the endpoint identifiers are carried in the two signaling protocols that are used to set up PWs, the Label Distribution Protocol (LDP), and the Layer 2 Tunneling Protocol version 3 (L2TPv3). [STANDARDS- TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6074"/>
          <seriesInfo name="DOI" value="10.17487/RFC6074"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.kothari-l2vpn-auto-site-id" target="https://datatracker.ietf.org/doc/html/draft-kothari-l2vpn-auto-site-id-01" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.kothari-l2vpn-auto-site-id.xml">
          <front>
            <title>Automatic Generation of Site IDs for Virtual Private LAN Service</title>
            <author fullname="Bhupesh Kothari" initials="B." surname="Kothari">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Thomas Spencer IV" initials="T. S." surname="IV">
              <organization>AT&amp;T</organization>
            </author>
            <date day="29" month="October" year="2008"/>
            <abstract>
              <t>This document defines procedures that allow for Virtual Private LAN Service (VPLS) provider edge (PE) devices that use BGP in the control plane to automatically generate VE ID values in a consistent manner.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kothari-l2vpn-auto-site-id-01"/>
        </reference>
        <reference anchor="RFC4360" target="https://www.rfc-editor.org/info/rfc4360" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4360.xml">
          <front>
            <title>BGP Extended Communities Attribute</title>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes the "extended community" BGP-4 attribute. This attribute provides a mechanism for labeling information carried in BGP-4. These labels can be used to control the distribution of this information, or for other applications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4360"/>
          <seriesInfo name="DOI" value="10.17487/RFC4360"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC4762" target="https://www.rfc-editor.org/info/rfc4762" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4762.xml">
          <front>
            <title>Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling</title>
            <author fullname="M. Lasserre" initials="M." role="editor" surname="Lasserre"/>
            <author fullname="V. Kompella" initials="V." role="editor" surname="Kompella"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document describes a Virtual Private LAN Service (VPLS) solution using pseudowires, a service previously implemented over other tunneling technologies and known as Transparent LAN Services (TLS). A VPLS creates an emulated LAN segment for a given set of users; i.e., it creates a Layer 2 broadcast domain that is fully capable of learning and forwarding on Ethernet MAC addresses and that is closed to a given set of users. Multiple VPLS services can be supported from a single Provider Edge (PE) node.</t>
              <t>This document describes the control plane functions of signaling pseudowire labels using Label Distribution Protocol (LDP), extending RFC 4447. It is agnostic to discovery protocols. The data plane functions of forwarding are also described, focusing in particular on the learning of MAC addresses. The encapsulation of VPLS packets is described by RFC 4448. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4762"/>
          <seriesInfo name="DOI" value="10.17487/RFC4762"/>
        </reference>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>
