<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-xu-bess-evpn-vpls-multihoming-00"
     ipr="trust200902">
  <front>
    <title abbrev="EVPN VPLS multihoming based on BD">EVPN VPLS multihoming based on BD</title>

    <author fullname="Jianyong Xu" initials="J." surname="Xu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No.101 Software Avenue, Yuhuatai District</street>
          <city>Nanjing</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>xujianyong1@huawei.com</email>
      </address>
    </author>
    <author fullname="Tong Zhu" initials="T," surname="Zhu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No.101 Software Avenue, Yuhuatai District.</street>
          <city>Nanjing</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>zhu.tong@huawei.com</email>
      </address>
    </author>
    <date day="17" month="August" year="2023"/>
    <abstract>
      <t>EVPN VPLS supports multi-homing to implement redundancy between PEs, including single-active and all-active redundancy <xref target="RFC7432"/>. The redundancy function on the access side needs to be implemented in another mode, which is described in this document.</t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction">
      <t>This document provides a multihoming single-active solution based on BD. In an existing EVPN VPLS multi-homing scenario, a CE is multi-homed to multiple PEs. When multiple devices (eg. BNGs) are multi-homed to PEs, the multi-homing function based on BD must be supported to implement redundancy among the devices.</t>
    </section>

    <section anchor="sect-2" title="Requirements Language and Terminology">
      <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" pageno="false" format="default"/>.</t>

      <t><list style="symbols">
          <t>DF, NDF and BDF - Designated Forwarder, Non-Designated Forwarder and Backup Designated Forwarder.</t>

          <t>DF Alg - refers to Designated Forwarder Election Algorithm. This is sometimes shortened to &ldquo;Alg&rdquo; in this document.</t>

          <t>ES, vES and ESI - Ethernet Segment, virtual Ethernet Segment and Ethernet Segment Identifier.</t>

          <t>BD - Broadcast Domain. An EVI may be comprised of one (VLAN-Based or VLAN Bundle services) or multiple (VLAN-Aware Bundle services)
          Broadcast Domains.</t>

          <t>BNG - Broadband Network Gateway.</t>

          <t>UPE - User facing-Provider Edge.</t>

        </list></t>
    </section>

    <section title="Scenario Description">
      <t>BNG1, BNG2, and BNG3 belong to the same BD and are multi-homed to PE1 and PE2 as access devices. BNG (Broadband Network Gateway) is the access point for subscribers, through which they connect to the broadband network. Only one of the BNGs is selected when connecting.</t>

      <figure anchor="problem" title="">
        <artwork>
        +---------------------+
        | USER ACCESS NETWORK |
        +---------------------+

    +-------+     +-----+
    | BNG1  |-----|     |
    +-------+     | PE1 |    
    +-------+     |     |    +-----+
    | BNG2  |-----|     |----|     |
    +-------+     +-----+    |     |
                             | UPE |----SUBSCRIBER
    +-------+     +-----+    |     |
    | BNG3  |-----| PE2 |----|     |
    +-------+     +-----+    +-----+

        </artwork>
      </figure>
    </section>

    <section title="Solution Description">
      <t>In Figure 1, PE1 and PE2 procedures are as follow:</t>

      <t>a. The PEs must assign the same ESI to the BD to which BNG1, BNG2, and BNG3 belong. DF election is performed based on the Ethernet Segment route corresponding to the ESI. Assume that PE1 is the Designated Forwarder PE and PE2 is the NDF PE.</t>

      <t>b. The subscriber access packet is sent to the UPE, and the UPE
      broadcasts the packet to PE1 and PE2. </t>
      <t>
      <list style="symbols"> <t>
        PE2 drops the packet because it is not the designated forwarder.
      </t><t>
        PE1 will forward that packet to BNG1 and BNG2.
      </t><t>
        BNG1 and BNG2 reply packets to the UPE. If the UPE receives packets from BNG1 first, the UPE establishes a session with BNG1 and the subscriber goes online successfully.
      </t></list> </t>

      <t>c. When the link between BNG1 and PE1 fails, subscriber go offline due to timeout. The subscriber retransmits an online packet. The packet is sent to BNG2 through PE1. BNG2 replies with a packet. Then the subscriber goes online successfully.</t>

      <t>d. When the link between BNG2 and PE1 fails again, all access devices in the BD on PE1 fail. In this case, the Ethernet Segment route corresponding to the ESI of the BD is withdrawn and the DF election is performed again. PE2 is elected as the designated forwarder. After that, when the subscriber goes online, the access packet is sent to BNG3 through PE2. BNG3 replies with a packet, indicating that the subscriber goes online successfully.</t>

      <t>e. When the link between BNG1 or BNG2 and PE1 recovers, the non-revertive capability of Highest-Preference DF Alg <xref target="I-D.ietf-bess-evpn-pref-df"/> can be used for DF. In this way, the DF PE remains unchanged, preventing subscriber from going offline.</t>

      </section>

    <section title="IANA considerations">
      <t>None.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This document raises no new security issues for EVPN.</t>
    </section>
  </middle>

  <back>
    <references title="References">
      <?rfc include="reference.RFC.2119"?>
      <?rfc include="reference.RFC.7432"?>
      <?rfc include="reference.I-D.ietf-bess-evpn-pref-df"?>
    </references>
  </back>
</rfc>
