tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search     info

RFC 7432

 
 
 

BGP MPLS-Based Ethernet VPN

Part 3 of 4, p. 30 to 44
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 30 
9.  Determining Reachability to Unicast MAC Addresses

   PEs forward packets that they receive based on the destination MAC
   address.  This implies that PEs must be able to learn how to reach a
   given destination unicast MAC address.

   There are two components to MAC address learning -- "local learning"
   and "remote learning":

9.1.  Local Learning

   A particular PE must be able to learn the MAC addresses from the CEs
   that are connected to it.  This is referred to as local learning.

   The PEs in a particular EVPN instance MUST support local data-plane
   learning using standard IEEE Ethernet learning procedures.  A PE must
   be capable of learning MAC addresses in the data plane when it
   receives packets such as the following from the CE network:

   - DHCP requests

   - An ARP Request for its own MAC

   - An ARP Request for a peer

   Alternatively, PEs MAY learn the MAC addresses of the CEs in the
   control plane or via management-plane integration between the PEs and
   the CEs.

   There are applications where a MAC address that is reachable via a
   given PE on a locally attached segment (e.g., with ESI X) may move,
   such that it becomes reachable via another PE on another segment
   (e.g., with ESI Y).  This is referred to as "MAC Mobility".
   Procedures to support this are described in Section 15 ("MAC
   Mobility").

9.2.  Remote Learning

   A particular PE must be able to determine how to send traffic to MAC
   addresses that belong to or are behind CEs connected to other PEs,
   i.e., to remote CEs or hosts behind remote CEs.  We call such MAC
   addresses "remote" MAC addresses.

   This document requires a PE to learn remote MAC addresses in the
   control plane.  In order to achieve this, each PE advertises the MAC
   addresses it learns from its locally attached CEs in the control
   plane, to all the other PEs in that EVPN instance, using MP-BGP and,
   specifically, the MAC/IP Advertisement route.

Top      Up      ToC       Page 31 
9.2.1.  Constructing MAC/IP Address Advertisement

   BGP is extended to advertise these MAC addresses using the MAC/IP
   Advertisement route type in the EVPN NLRI.

   The RD MUST be set per Section 7.9.

   The Ethernet Segment Identifier is set to the 10-octet ESI described
   in Section 5 ("Ethernet Segment").

   The Ethernet Tag ID may be zero or may represent a valid Ethernet
   Tag ID.  This field may be non-zero when there are multiple bridge
   tables in the MAC-VRF (i.e., the PE needs to support VLAN-aware
   bundle service for that EVI).

   When the Ethernet Tag ID in the NLRI is set to a non-zero value for a
   particular broadcast domain, then this Ethernet Tag ID may be either
   the CE's Ethernet tag value (e.g., CE VLAN ID) or the EVPN provider's
   Ethernet tag value (e.g., provider VLAN ID).  The latter would be the
   case if the CE Ethernet tags (e.g., CE VLAN ID) for a particular
   broadcast domain are different on different CEs.

   The MAC Address Length field is in bits, and it is set to 48.  MAC
   address length values other than 48 bits are outside the scope of
   this document.  The encoding of a MAC address MUST be the 6-octet MAC
   address specified by [802.1Q] and [802.1D-REV].

   The IP Address field is optional.  By default, the IP Address Length
   field is set to 0, and the IP Address field is omitted from the
   route.  When a valid IP address needs to be advertised, it is then
   encoded in this route.  When an IP address is present, the IP Address
   Length field is in bits, and it is set to 32 or 128 bits.  Other IP
   Address Length values are outside the scope of this document.  The
   encoding of an IP address MUST be either 4 octets for IPv4 or
   16 octets for IPv6.  The Length field of the EVPN NLRI (which is in
   octets and is described in Section 7) is sufficient to determine
   whether an IP address is encoded in this route and, if so, whether
   the encoded IP address is IPv4 or IPv6.

   The MPLS Label1 field is encoded as 3 octets, where the high-order
   20 bits contain the label value.  The MPLS Label1 MUST be downstream
   assigned, and it is associated with the MAC address being advertised
   by the advertising PE.  The advertising PE uses this label when it
   receives an MPLS-encapsulated packet to perform forwarding based on
   the destination MAC address toward the CE.  The forwarding procedures
   are specified in Sections 13 and 14.

Top      Up      ToC       Page 32 
   A PE may advertise the same single EVPN label for all MAC addresses
   in a given MAC-VRF.  This label assignment is referred to as a per
   MAC-VRF label assignment.  Alternatively, a PE may advertise a unique
   EVPN label per <MAC-VRF, Ethernet tag> combination.  This label
   assignment is referred to as a per <MAC-VRF, Ethernet tag> label
   assignment.  As a third option, a PE may advertise a unique EVPN
   label per <ESI, Ethernet tag> combination.  This label assignment is
   referred to as a per <ESI, Ethernet tag> label assignment.  As a
   fourth option, a PE may advertise a unique EVPN label per MAC
   address.  This label assignment is referred to as a per MAC label
   assignment.  All of these label assignment methods have their
   trade-offs.  The choice of a particular label assignment methodology
   is purely local to the PE that originates the route.

   An assignment per MAC-VRF label requires the least number of EVPN
   labels but requires a MAC lookup in addition to an MPLS lookup on an
   egress PE for forwarding.  On the other hand, a unique label per
   <ESI, Ethernet tag> or a unique label per MAC allows an egress PE to
   forward a packet that it receives from another PE, to the connected
   CE, after looking up only the MPLS labels without having to perform a
   MAC lookup.  This includes the capability to perform appropriate VLAN
   ID translation on egress to the CE.

   The MPLS Label2 field is an optional field.  If it is present, then
   it is encoded as 3 octets, where the high-order 20 bits contain the
   label value.

   The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
   be set to the IPv4 or IPv6 address of the advertising PE.

   The BGP advertisement for the MAC/IP Advertisement route MUST also
   carry one or more Route Target (RT) attributes.  RTs may be
   configured (as in IP VPNs) or may be derived automatically from the
   Ethernet Tag ID, in the Unique VLAN case, as described in
   Section 7.10.1.

   It is to be noted that this document does not require PEs to create
   forwarding state for remote MACs when they are learned in the control
   plane.  When this forwarding state is actually created is a local
   implementation matter.

9.2.2.  Route Resolution

   If the Ethernet Segment Identifier field in a received MAC/IP
   Advertisement route is set to the reserved ESI value of 0 or MAX-ESI,
   then if the receiving PE decides to install forwarding state for the
   associated MAC address, it MUST be based on the MAC/IP Advertisement
   route alone.

Top      Up      ToC       Page 33 
   If the Ethernet Segment Identifier field in a received MAC/IP
   Advertisement route is set to a non-reserved ESI, and the receiving
   PE is locally attached to the same ESI, then the PE does not alter
   its forwarding state based on the received route.  This ensures that
   local routes are preferred to remote routes.

   If the Ethernet Segment Identifier field in a received MAC/IP
   Advertisement route is set to a non-reserved ESI, then if the
   receiving PE decides to install forwarding state for the associated
   MAC address, it MUST be when both the MAC/IP Advertisement route AND
   the associated set of Ethernet A-D per ES routes have been received.
   The dependency of MAC route installation on Ethernet A-D per ES
   routes is to ensure that MAC routes don't get accidentally installed
   during a mass withdraw period.

   To illustrate this with an example, consider two PEs (PE1 and PE2)
   connected to a multihomed Ethernet segment ES1.  All-Active
   redundancy mode is assumed.  A given MAC address M1 is learned by PE1
   but not PE2.  On PE3, the following states may arise:

   T1    When the MAC/IP Advertisement route from PE1 and the set of
         Ethernet A-D per ES routes and Ethernet A-D per EVI routes from
         PE1 and PE2 are received, PE3 can forward traffic destined to
         M1 to both PE1 and PE2.

   T2    If after T1 PE1 withdraws its set of Ethernet A-D per ES
         routes, then PE3 forwards traffic destined to M1 to PE2 only.

   T2'   If after T1 PE2 withdraws its set of Ethernet A-D per ES
         routes, then PE3 forwards traffic destined to M1 to PE1 only.

   T2''  If after T1 PE1 withdraws its MAC/IP Advertisement route, then
         PE3 treats traffic to M1 as unknown unicast.

   T3    PE2 also advertises a MAC route for M1, and then PE1 withdraws
         its MAC route for M1.  PE3 continues forwarding traffic
         destined to M1 to both PE1 and PE2.  In other words, despite M1
         withdrawal by PE1, PE3 forwards the traffic destined to M1 to
         both PE1 and PE2.  This is because a flow from the CE,
         resulting in M1 traffic getting hashed to PE1, can get
         terminated, resulting in M1 being aged out in PE1; however, M1
         can be reachable by both PE1 and PE2.

10.  ARP and ND

   The IP Address field in the MAC/IP Advertisement route may optionally
   carry one of the IP addresses associated with the MAC address.  This
   provides an option that can be used to minimize the flooding of ARP

Top      Up      ToC       Page 34 
   or Neighbor Discovery (ND) messages over the MPLS network and to
   remote CEs.  This option also minimizes ARP (or ND) message
   processing on end-stations/hosts connected to the EVPN network.  A PE
   may learn the IP address associated with a MAC address in the control
   or management plane between the CE and the PE.  Or, it may learn this
   binding by snooping certain messages to or from a CE.  When a PE
   learns the IP address associated with a MAC address of a locally
   connected CE, it may advertise this address to other PEs by including
   it in the MAC/IP Advertisement route.  The IP address may be an IPv4
   address encoded using 4 octets or an IPv6 address encoded using
   16 octets.  For ARP and ND purposes, the IP Address Length field MUST
   be set to 32 for an IPv4 address or 128 for an IPv6 address.

   If there are multiple IP addresses associated with a MAC address,
   then multiple MAC/IP Advertisement routes MUST be generated, one for
   each IP address.  For instance, this may be the case when there are
   both an IPv4 and an IPv6 address associated with the same MAC address
   for dual-IP-stack scenarios.  When the IP address is dissociated with
   the MAC address, then the MAC/IP Advertisement route with that
   particular IP address MUST be withdrawn.

   Note that a MAC-only route can be advertised along with, but
   independent from, a MAC/IP route for scenarios where the MAC learning
   over an access network/node is done in the data plane and independent
   from ARP snooping that generates a MAC/IP route.  In such scenarios,
   when the ARP entry times out and causes the MAC/IP to be withdrawn,
   then the MAC information will not be lost.  In scenarios where the
   host MAC/IP is learned via the management or control plane, then the
   sender PE may only generate and advertise the MAC/IP route.  If the
   receiving PE receives both the MAC-only route and the MAC/IP route,
   then when it receives a withdraw message for the MAC/IP route, it
   MUST delete the corresponding entry from the ARP table but not the
   MAC entry from the MAC-VRF table, unless it receives a withdraw
   message for the MAC-only route.

   When a PE receives an ARP Request for an IP address from a CE, and if
   the PE has the MAC address binding for that IP address, the PE SHOULD
   perform ARP proxy by responding to the ARP Request.

10.1.  Default Gateway

   When a PE needs to perform inter-subnet forwarding where each subnet
   is represented by a different broadcast domain (e.g., a different
   VLAN), the inter-subnet forwarding is performed at Layer 3, and the
   PE that performs such a function is called the default gateway for
   the EVPN instance.  In this case, when the PE receives an ARP Request
   for the IP address configured as the default gateway address, the PE
   originates an ARP Reply.

Top      Up      ToC       Page 35 
   Each PE that acts as a default gateway for a given EVPN instance MAY
   advertise in the EVPN control plane its default gateway MAC address
   using the MAC/IP Advertisement route, and each such PE indicates that
   such a route is associated with the default gateway.  This is
   accomplished by requiring the route to carry the Default Gateway
   extended community defined in Section 7.8 ("Default Gateway Extended
   Community").  The ESI field is set to zero when advertising the MAC
   route with the Default Gateway extended community.

   The IP Address field of the MAC/IP Advertisement route is set to the
   default gateway IP address for that subnet (e.g., an EVPN instance).
   For a given subnet (e.g., a VLAN or EVPN instance), the default
   gateway IP address is the same across all the participant PEs.  The
   inclusion of this IP address enables the receiving PE to check its
   configured default gateway IP address against the one received in the
   MAC/IP Advertisement route for that subnet (or EVPN instance), and if
   there is a discrepancy, then the PE SHOULD notify the operator and
   log an error message.

   Unless it is known a priori (by means outside of this document) that
   all PEs of a given EVPN instance act as a default gateway for that
   EVPN instance, the MPLS label MUST be set to a valid downstream
   assigned label.

   Furthermore, even if all PEs of a given EVPN instance do act as a
   default gateway for that EVPN instance, but only some, but not all,
   of these PEs have sufficient (routing) information to provide
   inter-subnet routing for all the inter-subnet traffic originated
   within the subnet associated with the EVPN instance, then when such a
   PE advertises in the EVPN control plane its default gateway MAC
   address using the MAC/IP Advertisement route and indicates that such
   a route is associated with the default gateway, the route MUST carry
   a valid downstream assigned label.

   If all PEs of a given EVPN instance act as a default gateway for that
   EVPN instance, and the same default gateway MAC address is used
   across all gateway devices, then no such advertisement is needed.
   However, if each default gateway uses a different MAC address, then
   each default gateway needs to be aware of other gateways' MAC
   addresses and thus the need for such an advertisement.  This is
   called MAC address aliasing, since a single default gateway can be
   represented by multiple MAC addresses.

   Each PE that receives this route and imports it as per procedures
   specified in this document follows the procedures in this section
   when replying to ARP Requests that it receives.

Top      Up      ToC       Page 36 
   Each PE that acts as a default gateway for a given EVPN instance that
   receives this route and imports it as per procedures specified in
   this document MUST create MAC forwarding state that enables it to
   apply IP forwarding to the packets destined to the MAC address
   carried in the route.

11.  Handling of Multi-destination Traffic

   Procedures are required for a given PE to send broadcast or multicast
   traffic received from a CE encapsulated in a given Ethernet tag
   (VLAN) in an EVPN instance to all the other PEs that span that
   Ethernet tag (VLAN) in that EVPN instance.  In certain scenarios, as
   described in Section 12 ("Processing of Unknown Unicast Packets"), a
   given PE may also need to flood unknown unicast traffic to other PEs.

   The PEs in a particular EVPN instance may use ingress replication,
   P2MP LSPs, or MP2MP LSPs to send unknown unicast, broadcast, or
   multicast traffic to other PEs.

   Each PE MUST advertise an "Inclusive Multicast Ethernet Tag route" to
   enable the above.  The following subsection provides the procedures
   to construct the Inclusive Multicast Ethernet Tag route.  Subsequent
   subsections describe its usage in further detail.

11.1.  Constructing Inclusive Multicast Ethernet Tag Route

   The RD MUST be set per Section 7.9.

   The Ethernet Tag ID is the identifier of the Ethernet tag.  It may be
   set to 0 or to a valid Ethernet tag value.

   The Originating Router's IP Address field value MUST be set to an IP
   address of the PE that should be common for all the EVIs on the PE
   (e.g., this address may be the PE's loopback address).  The IP
   Address Length field is in bits.

   The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
   be set to the IPv4 or IPv6 address of the advertising PE.

   The BGP advertisement for the Inclusive Multicast Ethernet Tag route
   MUST also carry one or more Route Target (RT) attributes.  The
   assignment of RTs as described in Section 7.10 MUST be followed.

Top      Up      ToC       Page 37 
11.2.  P-Tunnel Identification

   In order to identify the P-tunnel used for sending broadcast, unknown
   unicast, or multicast traffic, the Inclusive Multicast Ethernet Tag
   route MUST carry a Provider Multicast Service Interface (PMSI) Tunnel
   attribute as specified in [RFC6514].

   Depending on the technology used for the P-tunnel for the EVPN
   instance on the PE, the PMSI Tunnel attribute of the Inclusive
   Multicast Ethernet Tag route is constructed as follows.

   + If the PE that originates the advertisement uses a P-multicast tree
     for the P-tunnel for EVPN, the PMSI Tunnel attribute MUST contain
     the identity of the tree (note that the PE could create the
     identity of the tree prior to the actual instantiation of the
     tree).

   + A PE that uses a P-multicast tree for the P-tunnel MAY aggregate
     two or more EVPN instances (EVIs) present on the PE onto the same
     tree.  In this case, in addition to carrying the identity of the
     tree, the PMSI Tunnel attribute MUST carry an MPLS upstream
     assigned label, which the PE has bound uniquely to the EVI
     associated with this update (as determined by its RTs).

     If the PE has already advertised Inclusive Multicast Ethernet Tag
     routes for two or more EVIs that it now desires to aggregate, then
     the PE MUST re-advertise those routes.  The re-advertised routes
     MUST be the same as the original ones, except for the PMSI Tunnel
     attribute and the label carried in that attribute.

   + If the PE that originates the advertisement uses ingress
     replication for the P-tunnel for EVPN, the route MUST include the
     PMSI Tunnel attribute with the Tunnel Type set to Ingress
     Replication and the Tunnel Identifier set to a routable address of
     the PE.  The PMSI Tunnel attribute MUST carry a downstream assigned
     MPLS label.  This label is used to demultiplex the broadcast,
     multicast, or unknown unicast EVPN traffic received over an MP2P
     tunnel by the PE.

   + The Leaf Information Required flag of the PMSI Tunnel attribute
     MUST be set to zero and MUST be ignored on receipt.

Top      Up      ToC       Page 38 
12.  Processing of Unknown Unicast Packets

   The procedures in this document do not require the PEs to flood
   unknown unicast traffic to other PEs.  If PEs learn CE MAC addresses
   via a control-plane protocol, the PEs can then distribute MAC
   addresses via BGP, and all unicast MAC addresses will be learned
   prior to traffic to those destinations.

   However, if a destination MAC address of a received packet is not
   known by the PE, the PE may have to flood the packet.  When flooding,
   one must take into account "split-horizon forwarding" as follows: The
   principles behind the following procedures are borrowed from the
   split-horizon forwarding rules in VPLS solutions [RFC4761] [RFC4762].
   When a PE capable of flooding (say PEx) receives an unknown
   destination MAC address, it floods the frame.  If the frame arrived
   from an attached CE, PEx must send a copy of that frame on every
   Ethernet segment (belonging to that EVI) for which it is the DF,
   other than the Ethernet segment on which it received the frame.  In
   addition, the PE must flood the frame to all other PEs participating
   in that EVPN instance.  If, on the other hand, the frame arrived from
   another PE (say PEy), PEx must send a copy of the packet on each
   Ethernet segment (belonging to that EVI) for which it is the DF.  PEx
   MUST NOT send the frame to other PEs, since PEy would have already
   done so.  Split-horizon forwarding rules apply to unknown MAC
   addresses.

   Whether or not to flood packets to unknown destination MAC addresses
   should be an administrative choice, depending on how learning happens
   between CEs and PEs.

   The PEs in a particular EVPN instance may use ingress replication
   using RSVP-TE P2P LSPs or LDP MP2P LSPs for sending unknown unicast
   traffic to other PEs.  Or, they may use RSVP-TE P2MP or LDP P2MP for
   sending such traffic to other PEs.

12.1.  Ingress Replication

   If ingress replication is in use, the P-tunnel attribute, carried in
   the Inclusive Multicast Ethernet Tag routes for the EVPN instance,
   specifies the downstream label that the other PEs can use to send
   unknown unicast, multicast, or broadcast traffic for that EVPN
   instance to this particular PE.

   The PE that receives a packet with this particular MPLS label MUST
   treat the packet as a broadcast, multicast, or unknown unicast
   packet.  Further, if the MAC address is a unicast MAC address, the PE
   MUST treat the packet as an unknown unicast packet.

Top      Up      ToC       Page 39 
12.2.  P2MP MPLS LSPs

   The procedures for using P2MP LSPs are very similar to the VPLS
   procedures described in [RFC7117].  The P-tunnel attribute used by a
   PE for sending unknown unicast, broadcast, or multicast traffic for a
   particular EVPN instance is advertised in the Inclusive Multicast
   Ethernet Tag route as described in Section 11 ("Handling of
   Multi-destination Traffic").

   The P-tunnel attribute specifies the P2MP LSP identifier.  This is
   the equivalent of an Inclusive tree as described in [RFC7117].  Note
   that multiple Ethernet tags, which may be in different EVPN
   instances, may use the same P2MP LSP, using upstream labels
   [RFC7117].  This is the equivalent of an Aggregate Inclusive tree
   [RFC7117].  When P2MP LSPs are used for flooding unknown unicast
   traffic, packet reordering is possible.

   The PE that receives a packet on the P2MP LSP specified in the PMSI
   Tunnel attribute MUST treat the packet as a broadcast, multicast, or
   unknown unicast packet.  Further, if the MAC address is a unicast MAC
   address, the PE MUST treat the packet as an unknown unicast packet.

13.  Forwarding Unicast Packets

   This section describes procedures for forwarding unicast packets by
   PEs, where such packets are received from either directly connected
   CEs or some other PEs.

13.1.  Forwarding Packets Received from a CE

   When a PE receives a packet from a CE, on a given Ethernet Tag ID, it
   must first look up the source MAC address of the packet.  In certain
   environments that enable MAC security, the source MAC address MAY be
   used to validate the host identity and determine that traffic from
   the host can be allowed into the network.  Source MAC lookup MAY also
   be used for local MAC address learning.

   If the PE decides to forward the packet, the destination MAC address
   of the packet must be looked up.  If the PE has received MAC address
   advertisements for this destination MAC address from one or more
   other PEs or has learned it from locally connected CEs, the MAC
   address is considered a known MAC address.  Otherwise, it is
   considered an unknown MAC address.

Top      Up      ToC       Page 40 
   For known MAC addresses, the PE forwards this packet to one of the
   remote PEs or to a locally attached CE.  When forwarding to a remote
   PE, the packet is encapsulated in the EVPN MPLS label advertised by
   the remote PE, for that MAC address, and in the MPLS LSP label stack
   to reach the remote PE.

   If the MAC address is unknown and if the administrative policy on the
   PE requires flooding of unknown unicast traffic, then:

   - The PE MUST flood the packet to other PEs.  The PE MUST first
     encapsulate the packet in the ESI MPLS label as described in
     Section 8.3.  If ingress replication is used, the packet MUST be
     replicated to each remote PE, with the VPN label being an MPLS
     label determined as follows: This is the MPLS label advertised by
     the remote PE in a PMSI Tunnel attribute in the Inclusive Multicast
     Ethernet Tag route for a <MAC-VRF> or <MAC-VRF, Ethernet tag>
     combination.

     The Ethernet tag in the route may be the same as the Ethernet tag
     associated with the interface on which the ingress PE receives the
     packet.  If P2MP LSPs are being used, the packet MUST be sent on
     the P2MP LSP of which the PE is the root, for the Ethernet tag in
     the EVPN instance.  If the same P2MP LSP is used for all Ethernet
     tags, then all the PEs in the EVPN instance MUST be the leaves of
     the P2MP LSP.  If a distinct P2MP LSP is used for a given Ethernet
     tag in the EVPN instance, then only the PEs in the Ethernet tag
     MUST be the leaves of the P2MP LSP.  The packet MUST be
     encapsulated in the P2MP LSP label stack.

   If the MAC address is unknown, then, if the administrative policy on
   the PE does not allow flooding of unknown unicast traffic:

   - the PE MUST drop the packet.

Top      Up      ToC       Page 41 
13.2.  Forwarding Packets Received from a Remote PE

   This section describes the procedures for forwarding known and
   unknown unicast packets received from a remote PE.

13.2.1.  Unknown Unicast Forwarding

   When a PE receives an MPLS packet from a remote PE, then, after
   processing the MPLS label stack, if the top MPLS label ends up being
   a P2MP LSP label associated with an EVPN instance or -- in the case
   of ingress replication -- the downstream label advertised in the
   P-tunnel attribute, and after performing the split-horizon procedures
   described in Section 8.3:

   - If the PE is the designated forwarder of BUM traffic on a
     particular set of ESIs for the Ethernet tag, the default behavior
     is for the PE to flood the packet on these ESIs.  In other words,
     the default behavior is for the PE to assume that for BUM traffic
     it is not required to perform a destination MAC address lookup.  As
     an option, the PE may perform a destination MAC lookup to flood the
     packet to only a subset of the CE interfaces in the Ethernet tag.
     For instance, the PE may decide to not flood a BUM packet on
     certain Ethernet segments even if it is the DF on the Ethernet
     segment, based on administrative policy.

   - If the PE is not the designated forwarder on any of the ESIs for
     the Ethernet tag, the default behavior is for it to drop the
     packet.

13.2.2.  Known Unicast Forwarding

   If the top MPLS label ends up being an EVPN label that was advertised
   in the unicast MAC advertisements, then the PE either forwards the
   packet based on CE next-hop forwarding information associated with
   the label or does a destination MAC address lookup to forward the
   packet to a CE.

14.  Load Balancing of Unicast Packets

   This section specifies the load-balancing procedures for sending
   known unicast packets to a multihomed CE.

14.1.  Load Balancing of Traffic from a PE to Remote CEs

   Whenever a remote PE imports a MAC/IP Advertisement route for a given
   <ESI, Ethernet tag> in a MAC-VRF, it MUST examine all imported
   Ethernet A-D routes for that ESI in order to determine the load-
   balancing characteristics of the Ethernet segment.

Top      Up      ToC       Page 42 
14.1.1.  Single-Active Redundancy Mode

   For a given ES, if the remote PE has imported the set of Ethernet A-D
   per ES routes from at least one PE, where the "Single-Active" flag in
   the ESI Label extended community is set, then the remote PE MUST
   deduce that the ES is operating in Single-Active redundancy mode.  As
   such, the MAC address will be reachable only via the PE announcing
   the associated MAC/IP Advertisement route -- this is referred to as
   the primary PE.  The other PEs advertising the set of Ethernet A-D
   per ES routes for the same ES provide backup paths for that ES, in
   case the primary PE encounters a failure, and are referred to as
   backup PEs.  It should be noted that the primary PE for a given <ES,
   VLAN> (or <ES, VLAN bundle>) is the DF for that <ES, VLAN> (or <ES,
   VLAN bundle>).

   If the primary PE encounters a failure, it MAY withdraw its set of
   Ethernet A-D per ES routes for the affected ES prior to withdrawing
   its set of MAC/IP Advertisement routes.

   If there is only one backup PE for a given ES, the remote PE MAY use
   the primary PE's withdrawal of its set of Ethernet A-D per ES routes
   as a trigger to update its forwarding entries, for the associated MAC
   addresses, to point towards the backup PE.  As the backup PE starts
   learning the MAC addresses over its attached ES, it will start
   sending MAC/IP Advertisement routes while the failed PE withdraws its
   routes.  This mechanism minimizes the flooding of traffic during
   fail-over events.

   If there is more than one backup PE for a given ES, the remote PE
   MUST use the primary PE's withdrawal of its set of Ethernet A-D per
   ES routes as a trigger to start flooding traffic for the associated
   MAC addresses (as long as flooding of unknown unicast packets is
   administratively allowed), as it is not possible to select a single
   backup PE.

14.1.2.  All-Active Redundancy Mode

   For a given ES, if the remote PE has imported the set of Ethernet A-D
   per ES routes from one or more PEs and none of them have the
   "Single-Active" flag in the ESI Label extended community set, then
   the remote PE MUST deduce that the ES is operating in All-Active
   redundancy mode.  A remote PE that receives a MAC/IP Advertisement
   route with a non-reserved ESI SHOULD consider the advertised MAC
   address to be reachable via all PEs that have advertised reachability
   to that MAC address's EVI/ES via the combination of an Ethernet A-D
   per EVI route for that EVI/ES (and Ethernet tag, if applicable) AND
   an Ethernet A-D per ES route for that ES.  The remote PE MUST use

Top      Up      ToC       Page 43 
   received MAC/IP Advertisement routes and Ethernet A-D per EVI/per ES
   routes to construct the set of next hops for the advertised MAC
   address.

   Each next hop comprises an MPLS label stack that is to be used by the
   egress PE to forward the packet.  This label stack is determined as
   follows:

   - If the next hop is constructed as a result of a MAC route, then
     this label stack MUST be used.  However, if the MAC route doesn't
     exist for that PE, then the next hop and the MPLS label stack are
     constructed as a result of the Ethernet A-D routes.  Note that the
     following description applies to determining the label stack for a
     particular next hop to reach a given PE, from which the remote PE
     has received and imported Ethernet A-D routes that have the same
     ESI and Ethernet tag as the ones present in the MAC advertisement.
     The Ethernet A-D routes mentioned in the following description
     refer to the ones imported from this given PE.

   - If a set of Ethernet A-D per ES routes for that ES AND an Ethernet
     A-D route per EVI exist, only then must the label from that latter
     route be used.

   The following example explains the above.

   Consider a CE (CE1) that is dual-homed to two PEs (PE1 and PE2) on a
   LAG interface (ES1), and is sending packets with source MAC address
   MAC1 on VLAN1 (mapped to EVI1).  A remote PE, say PE3, is able to
   learn that MAC1 is reachable via PE1 and PE2.  Both PE1 and PE2 may
   advertise MAC1 in BGP if they receive packets with MAC1 from CE1.  If
   this is not the case, and if MAC1 is advertised only by PE1, PE3
   still considers MAC1 as reachable via both PE1 and PE2, as both PE1
   and PE2 advertise a set of Ethernet A-D per ES routes for ES1 as well
   as an Ethernet A-D per EVI route for <EVI1, ES1>.

   The MPLS label stack to send the packets to PE1 is the MPLS LSP stack
   to get to PE1 (at the top of the stack) followed by the EVPN label
   advertised by PE1 for CE1's MAC.

   The MPLS label stack to send packets to PE2 is the MPLS LSP stack to
   get to PE2 (at the top of the stack) followed by the MPLS label in
   the Ethernet A-D route advertised by PE2 for <ES1, VLAN1>, if PE2 has
   not advertised MAC1 in BGP.

   We will refer to these label stacks as MPLS next hops.

Top      Up      ToC       Page 44 
   The remote PE (PE3) can now load balance the traffic it receives from
   its CEs, destined for CE1, between PE1 and PE2.  PE3 may use N-tuple
   flow information to hash traffic into one of the MPLS next hops for
   load balancing of IP traffic.  Alternatively, PE3 may rely on the
   source MAC addresses for load balancing.

   Note that once PE3 decides to send a particular packet to PE1 or PE2,
   it can pick one out of multiple possible paths to reach the
   particular remote PE using regular MPLS procedures.  For instance, if
   the tunneling technology is based on RSVP-TE LSPs and PE3 decides to
   send a particular packet to PE1, then PE3 can choose from multiple
   RSVP-TE LSPs that have PE1 as their destination.

   When PE1 or PE2 receives the packet destined for CE1 from PE3, if the
   packet is a known unicast, it is forwarded to CE1.  If it is a BUM
   packet, then only one of PE1 or PE2 must forward the packet to the
   CE.  Whether PE1 or PE2 forwards this packet to the CE is determined
   based on which of the two is the DF.

14.2.  Load Balancing of Traffic between a PE and a Local CE

   A CE may be configured with more than one interface connected to
   different PEs or the same PE for load balancing, using a technology
   such as a LAG.  The PE(s) and the CE can load balance traffic onto
   these interfaces using one of the following mechanisms.

14.2.1.  Data-Plane Learning

   Consider that the PEs perform data-plane learning for local MAC
   addresses learned from local CEs.  This enables the PE(s) to learn a
   particular MAC address and associate it with one or more interfaces,
   if the technology between the PE and the CE supports multipathing.
   The PEs can now load balance traffic destined to that MAC address on
   the multiple interfaces.

   Whether the CE can load balance traffic that it generates on the
   multiple interfaces is dependent on the CE implementation.

14.2.2.  Control-Plane Learning

   The CE can be a host that advertises the same MAC address using a
   control protocol on all interfaces.  This enables the PE(s) to learn
   the host's MAC address and associate it with all interfaces.  The PEs
   can now load balance traffic destined to the host on all these
   interfaces.  The host can also load balance the traffic it generates
   onto these interfaces, and the PE that receives the traffic employs
   EVPN forwarding procedures to forward the traffic.


Next RFC Part