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 2 of 4, p. 13 to 29
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 13 
7.  BGP EVPN Routes

   This document defines a new BGP Network Layer Reachability
   Information (NLRI) called the EVPN NLRI.

   The format of the EVPN NLRI is as follows:

                 +-----------------------------------+
                 |    Route Type (1 octet)           |
                 +-----------------------------------+
                 |     Length (1 octet)              |
                 +-----------------------------------+
                 | Route Type specific (variable)    |
                 +-----------------------------------+

   The Route Type field defines the encoding of the rest of the EVPN
   NLRI (Route Type specific EVPN NLRI).

   The Length field indicates the length in octets of the Route Type
   specific field of the EVPN NLRI.

   This document defines the following Route Types:

      + 1 - Ethernet Auto-Discovery (A-D) route
      + 2 - MAC/IP Advertisement route
      + 3 - Inclusive Multicast Ethernet Tag route
      + 4 - Ethernet Segment route

   The detailed encoding and procedures for these route types are
   described in subsequent sections.

   The EVPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol
   Extensions [RFC4760] with an Address Family Identifier (AFI) of 25
   (L2VPN) and a Subsequent Address Family Identifier (SAFI) of 70
   (EVPN).  The NLRI field in the MP_REACH_NLRI/MP_UNREACH_NLRI
   attribute contains the EVPN NLRI (encoded as specified above).

   In order for two BGP speakers to exchange labeled EVPN NLRI, they
   must use BGP Capabilities Advertisements to ensure that they both are
   capable of properly processing such NLRI.  This is done as specified
   in [RFC4760], by using capability code 1 (multiprotocol BGP) with an
   AFI of 25 (L2VPN) and a SAFI of 70 (EVPN).

Top      Up      ToC       Page 14 
7.1.  Ethernet Auto-discovery Route

   An Ethernet A-D route type specific EVPN NLRI consists of the
   following:

                +---------------------------------------+
                |  Route Distinguisher (RD) (8 octets)  |
                +---------------------------------------+
                |Ethernet Segment Identifier (10 octets)|
                +---------------------------------------+
                |  Ethernet Tag ID (4 octets)           |
                +---------------------------------------+
                |  MPLS Label (3 octets)                |
                +---------------------------------------+

   For the purpose of BGP route key processing, only the Ethernet
   Segment Identifier and the Ethernet Tag ID are considered to be part
   of the prefix in the NLRI.  The MPLS Label field is to be treated as
   a route attribute as opposed to being part of the route.

   For procedures and usage of this route, please see Sections 8.2
   ("Fast Convergence") and 8.4 ("Aliasing and Backup Path").

7.2.  MAC/IP Advertisement Route

   A MAC/IP Advertisement route type specific EVPN NLRI consists of the
   following:

                +---------------------------------------+
                |  RD (8 octets)                        |
                +---------------------------------------+
                |Ethernet Segment Identifier (10 octets)|
                +---------------------------------------+
                |  Ethernet Tag ID (4 octets)           |
                +---------------------------------------+
                |  MAC Address Length (1 octet)         |
                +---------------------------------------+
                |  MAC Address (6 octets)               |
                +---------------------------------------+
                |  IP Address Length (1 octet)          |
                +---------------------------------------+
                |  IP Address (0, 4, or 16 octets)      |
                +---------------------------------------+
                |  MPLS Label1 (3 octets)               |
                +---------------------------------------+
                |  MPLS Label2 (0 or 3 octets)          |
                +---------------------------------------+

Top      Up      ToC       Page 15 
   For the purpose of BGP route key processing, only the Ethernet Tag
   ID, MAC Address Length, MAC Address, IP Address Length, and IP
   Address fields are considered to be part of the prefix in the NLRI.
   The Ethernet Segment Identifier, MPLS Label1, and MPLS Label2 fields
   are to be treated as route attributes as opposed to being part of the
   "route".  Both the IP and MAC address lengths are in bits.

   For procedures and usage of this route, please see Sections 9
   ("Determining Reachability to Unicast MAC Addresses") and 14 ("Load
   Balancing of Unicast Packets").

7.3.  Inclusive Multicast Ethernet Tag Route

   An Inclusive Multicast Ethernet Tag route type specific EVPN NLRI
   consists of the following:

               +---------------------------------------+
               |  RD (8 octets)                        |
               +---------------------------------------+
               |  Ethernet Tag ID (4 octets)           |
               +---------------------------------------+
               |  IP Address Length (1 octet)          |
               +---------------------------------------+
               |  Originating Router's IP Address      |
               |          (4 or 16 octets)             |
               +---------------------------------------+

   For procedures and usage of this route, please see Sections 11
   ("Handling of Multi-destination Traffic"), 12 ("Processing of Unknown
   Unicast Packets"), and 16 ("Multicast and Broadcast").  The IP
   address length is in bits.  For the purpose of BGP route key
   processing, only the Ethernet Tag ID, IP Address Length, and
   Originating Router's IP Address fields are considered to be part of
   the prefix in the NLRI.

Top      Up      ToC       Page 16 
7.4.  Ethernet Segment Route

   An Ethernet Segment route type specific EVPN NLRI consists of the
   following:

               +---------------------------------------+
               |  RD (8 octets)                        |
               +---------------------------------------+
               |Ethernet Segment Identifier (10 octets)|
               +---------------------------------------+
               |  IP Address Length (1 octet)          |
               +---------------------------------------+
               |  Originating Router's IP Address      |
               |          (4 or 16 octets)             |
               +---------------------------------------+

   For procedures and usage of this route, please see Section 8.5
   ("Designated Forwarder Election").  The IP address length is in bits.
   For the purpose of BGP route key processing, only the Ethernet
   Segment ID, IP Address Length, and Originating Router's IP Address
   fields are considered to be part of the prefix in the NLRI.

7.5.  ESI Label Extended Community

   This Extended Community is a new transitive Extended Community having
   a Type field value of 0x06 and the Sub-Type 0x01.  It may be
   advertised along with Ethernet Auto-discovery routes, and it enables
   split-horizon procedures for multihomed sites as described in
   Section 8.3 ("Split Horizon").  The ESI Label field represents an ES
   by the advertising PE, and it is used in split-horizon filtering by
   other PEs that are connected to the same multihomed Ethernet segment.

   Each ESI Label extended community is encoded as an 8-octet value, as
   follows:

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Type=0x06     | Sub-Type=0x01 | Flags(1 octet)|  Reserved=0   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Reserved=0   |          ESI Label                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The low-order bit of the Flags octet is defined as the
   "Single-Active" bit.  A value of 0 means that the multihomed site
   is operating in All-Active redundancy mode, and a value of 1 means
   that the multihomed site is operating in Single-Active redundancy
   mode.

Top      Up      ToC       Page 17 
7.6.  ES-Import Route Target

   This is a new transitive Route Target extended community carried with
   the Ethernet Segment route.  When used, it enables all the PEs
   connected to the same multihomed site to import the Ethernet Segment
   routes.  The value is derived automatically for the ESI Types 1, 2,
   and 3, by encoding the high-order 6-octet portion of the 9-octet ESI
   Value, which corresponds to a MAC address, in the ES-Import Route
   Target.  The format of this Extended Community is as follows:

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Type=0x06     | Sub-Type=0x02 |          ES-Import            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     ES-Import Cont'd                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This document expands the definition of the Route Target extended
   community to allow the value of the high-order octet (Type field) to
   be 0x06 (in addition to the values specified in [RFC4360]).  The
   low-order octet (Sub-Type field) value 0x02 indicates that this
   Extended Community is of type "Route Target".  The new Type field
   value 0x06 indicates that the structure of this RT is a 6-octet value
   (e.g., a MAC address).  A BGP speaker that implements RT Constraint
   [RFC4684] MUST apply the RT Constraint procedures to the ES-Import RT
   as well.

   For procedures and usage of this attribute, please see Section 8.1
   ("Multihomed Ethernet Segment Auto-discovery").

Top      Up      ToC       Page 18 
7.7.  MAC Mobility Extended Community

   This Extended Community is a new transitive Extended Community having
   a Type field value of 0x06 and the Sub-Type 0x00.  It may be
   advertised along with MAC/IP Advertisement routes.  The procedures
   for using this Extended Community are described in Section 15 ("MAC
   Mobility").

   The MAC Mobility extended community is encoded as an 8-octet value,
   as follows:

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Type=0x06     | Sub-Type=0x00 |Flags(1 octet)|  Reserved=0    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Sequence Number                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The low-order bit of the Flags octet is defined as the
   "Sticky/static" flag and may be set to 1.  A value of 1 means that
   the MAC address is static and cannot move.  The sequence number is
   used to ensure that PEs retain the correct MAC/IP Advertisement route
   when multiple updates occur for the same MAC address.

7.8.  Default Gateway Extended Community

   The Default Gateway community is an Extended Community of an Opaque
   Type (see Section 3.3 of [RFC4360]).  It is a transitive community,
   which means that the first octet is 0x03.  The value of the second
   octet (Sub-Type) is 0x0d (Default Gateway) as assigned by IANA.  The
   Value field of this community is reserved (set to 0 by the senders,
   ignored by the receivers).  For procedures and usage of this
   attribute, please see Section 10.1 ("Default Gateway").

7.9.  Route Distinguisher Assignment per MAC-VRF

   The Route Distinguisher (RD) MUST be set to the RD of the MAC-VRF
   that is advertising the NLRI.  An RD MUST be assigned for a given
   MAC-VRF on a PE.  This RD MUST be unique across all MAC-VRFs on a PE.
   It is RECOMMENDED to use the Type 1 RD [RFC4364].  The value field
   comprises an IP address of the PE (typically, the loopback address)
   followed by a number unique to the PE.  This number may be generated
   by the PE.  Or, in the Unique VLAN EVPN case, the low-order 12 bits
   may be the 12-bit VLAN ID, with the remaining high-order 4 bits set
   to 0.

Top      Up      ToC       Page 19 
7.10.  Route Targets

   The EVPN route MAY carry one or more Route Target (RT) attributes.
   RTs may be configured (as in IP VPNs) or may be derived
   automatically.

   If a PE uses RT Constraint, the PE advertises all such RTs using RT
   Constraints per [RFC4684].  The use of RT Constraints allows each
   EVPN route to reach only those PEs that are configured to import at
   least one RT from the set of RTs carried in the EVPN route.

7.10.1.  Auto-derivation from the Ethernet Tag ID

   For the "Unique VLAN EVPN" scenario, it is highly desirable to
   auto-derive the RT from the Ethernet Tag ID (VLAN ID) for that EVPN
   instance.  The procedure for performing such auto-derivation is as
   follows:

   + The Global Administrator field of the RT MUST be set to the
     Autonomous System (AS) number with which the PE is associated.

   + The 12-bit VLAN ID MUST be encoded in the lowest 12 bits of the
     Local Administrator field, with the remaining bits set to zero.

8.  Multihoming Functions

   This section discusses the functions, procedures, and associated BGP
   routes used to support multihoming in EVPN.  This covers both
   multihomed device (MHD) and multihomed network (MHN) scenarios.

8.1.  Multihomed Ethernet Segment Auto-discovery

   PEs connected to the same Ethernet segment can automatically discover
   each other with minimal to no configuration through the exchange of
   the Ethernet Segment route.

8.1.1.  Constructing the Ethernet Segment Route

   The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364].  The
   value field comprises an IP address of the PE (typically, the
   loopback address) followed by a number unique to the PE.

   The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet
   value described in Section 5.

   The BGP advertisement that advertises the Ethernet Segment route MUST
   also carry an ES-Import Route Target, as defined in Section 7.6.

Top      Up      ToC       Page 20 
   The Ethernet Segment route filtering MUST be done such that the
   Ethernet Segment route is imported only by the PEs that are
   multihomed to the same Ethernet segment.  To that end, each PE that
   is connected to a particular Ethernet segment constructs an import
   filtering rule to import a route that carries the ES-Import Route
   Target, constructed from the ESI.

8.2.  Fast Convergence

   In EVPN, MAC address reachability is learned via the BGP control
   plane over the MPLS network.  As such, in the absence of any fast
   protection mechanism, the network convergence time is a function of
   the number of MAC/IP Advertisement routes that must be withdrawn by
   the PE encountering a failure.  For highly scaled environments, this
   scheme yields slow convergence.

   To alleviate this, EVPN defines a mechanism to efficiently and
   quickly signal, to remote PE nodes, the need to update their
   forwarding tables upon the occurrence of a failure in connectivity to
   an Ethernet segment.  This is done by having each PE advertise a set
   of one or more Ethernet A-D per ES routes for each locally attached
   Ethernet segment (refer to Section 8.2.1 below for details on how
   these routes are constructed).  A PE may need to advertise more than
   one Ethernet A-D per ES route for a given ES because the ES may be in
   a multiplicity of EVIs and the RTs for all of these EVIs may not fit
   into a single route.  Advertising a set of Ethernet A-D per ES routes
   for the ES allows each route to contain a subset of the complete set
   of RTs.  Each Ethernet A-D per ES route is differentiated from the
   other routes in the set by a different Route Distinguisher (RD).

   Upon a failure in connectivity to the attached segment, the PE
   withdraws the corresponding set of Ethernet A-D per ES routes.  This
   triggers all PEs that receive the withdrawal to update their next-hop
   adjacencies for all MAC addresses associated with the Ethernet
   segment in question.  If no other PE had advertised an Ethernet A-D
   route for the same segment, then the PE that received the withdrawal
   simply invalidates the MAC entries for that segment.  Otherwise, the
   PE updates its next-hop adjacencies accordingly.

Top      Up      ToC       Page 21 
8.2.1.  Constructing Ethernet A-D per Ethernet Segment Route

   This section describes the procedures used to construct the Ethernet
   A-D per ES route, which is used for fast convergence (as discussed
   above) and for advertising the ESI label used for split-horizon
   filtering (as discussed in Section 8.3).  Support of this route is
   REQUIRED.

   The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364].  The
   value field comprises an IP address of the PE (typically, the
   loopback address) followed by a number unique to the PE.

   The Ethernet Segment Identifier MUST be a 10-octet entity as
   described in Section 5 ("Ethernet Segment").  The Ethernet A-D route
   is not needed when the Segment Identifier is set to 0 (e.g., single-
   homed scenarios).

   The Ethernet Tag ID MUST be set to MAX-ET.

   The MPLS label in the NLRI MUST be set to 0.

   The ESI Label extended community MUST be included in the route.  If
   All-Active redundancy mode is desired, then the "Single-Active" bit
   in the flags of the ESI Label extended community MUST be set to 0 and
   the MPLS label in that Extended Community MUST be set to a valid MPLS
   label value.  The MPLS label in this Extended Community is referred
   to as the ESI label and MUST have the same value in each Ethernet A-D
   per ES route advertised for the ES.  This label MUST be a downstream
   assigned MPLS label if the advertising PE is using ingress
   replication for receiving multicast, broadcast, or unknown unicast
   traffic from other PEs.  If the advertising PE is using P2MP MPLS
   LSPs for sending multicast, broadcast, or unknown unicast traffic,
   then this label MUST be an upstream assigned MPLS label.  The usage
   of this label is described in Section 8.3.

   If Single-Active redundancy mode is desired, then the "Single-Active"
   bit in the flags of the ESI Label extended community MUST be set to 1
   and the ESI label SHOULD be set to a valid MPLS label value.

8.2.1.1.  Ethernet A-D Route Targets

   Each Ethernet A-D per ES route MUST carry one or more Route Target
   (RT) attributes.  The set of Ethernet A-D routes per ES MUST carry
   the entire set of RTs for all the EVPN instances to which the
   Ethernet segment belongs.

Top      Up      ToC       Page 22 
8.3.  Split Horizon

   Consider a CE that is multihomed to two or more PEs on an Ethernet
   segment ES1 operating in All-Active redundancy mode.  If the CE sends
   a broadcast, unknown unicast, or multicast (BUM) packet to one of the
   non-Designated Forwarder (non-DF) PEs, say PE1, then PE1 will forward
   that packet to all or a subset of the other PEs in that EVPN
   instance, including the DF PE for that Ethernet segment.  In this
   case, the DF PE to which the CE is multihomed MUST drop the packet
   and not forward back to the CE.  This filtering is referred to as
   "split-horizon filtering" in this document.

   When a set of PEs are operating in Single-Active redundancy mode, the
   use of this split-horizon filtering mechanism is highly recommended
   because it prevents transient loops at the time of failure or
   recovery that would impact the Ethernet segment -- e.g., when two PEs
   think that both are DFs for that segment before the DF election
   procedure settles down.

   In order to achieve this split-horizon function, every BUM packet
   originating from a non-DF PE is encapsulated with an MPLS label that
   identifies the Ethernet segment of origin (i.e., the segment from
   which the frame entered the EVPN network).  This label is referred to
   as the ESI label and MUST be distributed by all PEs when operating in
   All-Active redundancy mode using a set of Ethernet A-D per ES routes,
   per Section 8.2.1 above.  The ESI label SHOULD be distributed by all
   PEs when operating in Single-Active redundancy mode using a set of
   Ethernet A-D per ES routes.  These routes are imported by the PEs
   connected to the Ethernet segment and also by the PEs that have at
   least one EVPN instance in common with the Ethernet segment in the
   route.  As described in Section 8.1.1, the route MUST carry an ESI
   Label extended community with a valid ESI label.  The disposition PE
   relies on the value of the ESI label to determine whether or not a
   BUM frame is allowed to egress a specific Ethernet segment.

8.3.1.  ESI Label Assignment

   The following subsections describe the assignment procedures for the
   ESI label, which differ depending on the type of tunnels being used
   to deliver multi-destination packets in the EVPN network.

8.3.1.1.  Ingress Replication

   Each PE that operates in All-Active or Single-Active redundancy mode
   and that uses ingress replication to receive BUM traffic advertises a
   downstream assigned ESI label in the set of Ethernet A-D per ES
   routes for its attached ES.  This label MUST be programmed in the
   platform label space by the advertising PE, and the forwarding entry

Top      Up      ToC       Page 23 
   for this label must result in NOT forwarding packets received with
   this label onto the Ethernet segment for which the label was
   distributed.

   The rules for the inclusion of the ESI label in a BUM packet by the
   ingress PE operating in All-Active redundancy mode are as follows:

   - A non-DF ingress PE MUST include the ESI label distributed by the
     DF egress PE in the copy of a BUM packet sent to it.

   - An ingress PE (DF or non-DF) SHOULD include the ESI label
     distributed by each non-DF egress PE in the copy of a BUM packet
     sent to it.

   The rule for the inclusion of the ESI label in a BUM packet by the
   ingress PE operating in Single-Active redundancy mode is as follows:

   - An ingress DF PE SHOULD include the ESI label distributed by the
     egress PE in the copy of a BUM packet sent to it.

   In both All-Active and Single-Active redundancy mode, an ingress PE
   MUST NOT include an ESI label in the copy of a BUM packet sent to an
   egress PE that is not attached to the ES through which the BUM packet
   entered the EVI.

   As an example, consider PE1 and PE2, which are multihomed to CE1 on
   ES1 and operating in All-Active multihoming mode.  Further, consider
   that PE1 is using P2P or MP2P LSPs to send packets to PE2.  Consider
   that PE1 is the non-DF for VLAN1 and PE2 is the DF for VLAN1, and PE1
   receives a BUM packet from CE1 on VLAN1 on ES1.  In this scenario,
   PE2 distributes an Inclusive Multicast Ethernet Tag route for VLAN1
   corresponding to an EVPN instance.  So, when PE1 sends a BUM packet
   that it receives from CE1, it MUST first push onto the MPLS label
   stack the ESI label that PE2 has distributed for ES1.  It MUST then
   push onto the MPLS label stack the MPLS label distributed by PE2 in
   the Inclusive Multicast Ethernet Tag route for VLAN1.  The resulting
   packet is further encapsulated in the P2P or MP2P LSP label stack
   required to transmit the packet to PE2.  When PE2 receives this
   packet, it determines, from the top MPLS label, the set of ESIs to
   which it will replicate the packet after any P2P or MP2P LSP labels
   have been removed.  If the next label is the ESI label assigned by
   PE2 for ES1, then PE2 MUST NOT forward the packet onto ES1.  If the
   next label is an ESI label that has not been assigned by PE2, then
   PE2 MUST drop the packet.  It should be noted that in this scenario,
   if PE2 receives a BUM packet for VLAN1 from CE1, then it SHOULD
   encapsulate the packet with an ESI label received from PE1 when
   sending it to PE1 in order to avoid any transient loops during a
   failure scenario that would impact ES1 (e.g., port or link failure).

Top      Up      ToC       Page 24 
8.3.1.2.  P2MP MPLS LSPs

   The non-DF PEs that operate in All-Active redundancy mode and that
   use P2MP LSPs to send BUM traffic advertise an upstream assigned ESI
   label in the set of Ethernet A-D per ES routes for their common
   attached ES.  This label is upstream assigned by the PE that
   advertises the route.  This label MUST be programmed by the other PEs
   that are connected to the ESI advertised in the route, in the context
   label space for the advertising PE.  Further, the forwarding entry
   for this label must result in NOT forwarding packets received with
   this label onto the Ethernet segment for which the label was
   distributed.  This label MUST also be programmed by the other PEs
   that import the route but are not connected to the ESI advertised in
   the route, in the context label space for the advertising PE.
   Further, the forwarding entry for this label must be a label pop with
   no other associated action.

   The DF PE that operates in Single-Active redundancy mode and that
   uses P2MP LSPs to send BUM traffic should advertise an upstream
   assigned ESI label in the set of Ethernet A-D per ES routes for its
   attached ES, just as described in the previous paragraph.

   As an example, consider PE1 and PE2, which are multihomed to CE1 on
   ES1 and operating in All-Active multihoming mode.  Also, consider
   that PE3 belongs to one of the EVPN instances of ES1.  Further,
   assume that PE1, which is the non-DF, is using P2MP MPLS LSPs to send
   BUM packets.  When PE1 sends a BUM packet that it receives from CE1,
   it MUST first push onto the MPLS label stack the ESI label that it
   has assigned for the ESI on which the packet was received.  The
   resulting packet is further encapsulated in the P2MP MPLS label stack
   necessary to transmit the packet to the other PEs.  Penultimate hop
   popping MUST be disabled on the P2MP LSPs used in the MPLS transport
   infrastructure for EVPN.  When PE2 receives this packet, it
   decapsulates the top MPLS label and forwards the packet using the
   context label space determined by the top label.  If the next label
   is the ESI label assigned by PE1 to ES1, then PE2 MUST NOT forward
   the packet onto ES1.  When PE3 receives this packet, it decapsulates
   the top MPLS label and forwards the packet using the context label
   space determined by the top label.  If the next label is the ESI
   label assigned by PE1 to ES1 and PE3 is not connected to ES1, then
   PE3 MUST pop the label and flood the packet over all local ESIs in
   that EVPN instance.  It should be noted that when PE2 sends a BUM
   frame over a P2MP LSP, it should encapsulate the frame with an ESI
   label even though it is the DF for that VLAN, in order to avoid any
   transient loops during a failure scenario that would impact ES1
   (e.g., port or link failure).

Top      Up      ToC       Page 25 
8.4.  Aliasing and Backup Path

   In the case where a CE is multihomed to multiple PE nodes, using a
   Link Aggregation Group (LAG) with All-Active redundancy, it is
   possible that only a single PE learns a set of the MAC addresses
   associated with traffic transmitted by the CE.  This leads to a
   situation where remote PE nodes receive MAC/IP Advertisement routes
   for these addresses from a single PE, even though multiple PEs are
   connected to the multihomed segment.  As a result, the remote PEs are
   not able to effectively load balance traffic among the PE nodes
   connected to the multihomed Ethernet segment.  This could be the
   case, for example, when the PEs perform data-plane learning on the
   access, and the load-balancing function on the CE hashes traffic from
   a given source MAC address to a single PE.

   Another scenario where this occurs is when the PEs rely on control-
   plane learning on the access (e.g., using ARP), since ARP traffic
   will be hashed to a single link in the LAG.

   To address this issue, EVPN introduces the concept of 'aliasing',
   which is the ability of a PE to signal that it has reachability to an
   EVPN instance on a given ES even when it has learned no MAC addresses
   from that EVI/ES.  The Ethernet A-D per EVI route is used for this
   purpose.  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 Ethernet A-D
   per ES routes for that ES with the "Single-Active" bit in the flags
   of the ESI Label extended community set to 0.

   Note that the Ethernet A-D per EVI route may be received by a remote
   PE before it receives the set of Ethernet A-D per ES routes.
   Therefore, in order to handle corner cases and race conditions, the
   Ethernet A-D per EVI route MUST NOT be used for traffic forwarding by
   a remote PE until it also receives the associated set of Ethernet A-D
   per ES routes.

   The backup path is a closely related function, but it is used in
   Single-Active redundancy mode.  In this case, a PE also advertises
   that it has reachability to a given EVI/ES using the same combination
   of Ethernet A-D per EVI route and Ethernet A-D per ES route as
   discussed above, but with the "Single-Active" bit in the flags of the
   ESI Label extended community set to 1.  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 any PE that has
   advertised this combination of Ethernet A-D routes, and it SHOULD
   install a backup path for that MAC address.

Top      Up      ToC       Page 26 
8.4.1.  Constructing Ethernet A-D per EVPN Instance Route

   This section describes the procedures used to construct the Ethernet
   A-D per EVPN instance (EVI) route, which is used for aliasing (as
   discussed above).  Support of this route is OPTIONAL.

   The Route Distinguisher (RD) MUST be set per Section 7.9.

   The Ethernet Segment Identifier MUST be a 10-octet entity as
   described in Section 5 ("Ethernet Segment").  The Ethernet A-D route
   is not needed when the Segment Identifier is set to 0.

   The Ethernet Tag ID is the identifier of an Ethernet tag on the
   Ethernet segment.  This value may be a 12-bit VLAN ID, in which case
   the low-order 12 bits are set to the VLAN ID and the high-order
   20 bits are set to 0.  Or, it may be another Ethernet tag used by the
   EVPN.  It MAY be set to the default Ethernet tag on the Ethernet
   segment or to the value 0.

   Note that the above allows the Ethernet A-D route to be advertised
   with one of the following granularities:

   + One Ethernet A-D route per <ESI, Ethernet Tag ID> tuple per
     MAC-VRF.  This is applicable when the PE uses MPLS-based
     disposition with VID translation or may be applicable when the
     PE uses MAC-based disposition with VID translation.

   + One Ethernet A-D route for each <ESI> per MAC-VRF (where the
     Ethernet Tag ID is set to 0).  This is applicable when the PE uses
     MAC-based disposition or MPLS-based disposition without VID
     translation.

   The usage of the MPLS label is described in Section 14 ("Load
   Balancing of Unicast Packets").

   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 Ethernet A-D route MUST carry one or more Route Target (RT)
   attributes, per Section 7.10.

Top      Up      ToC       Page 27 
8.5.  Designated Forwarder Election

   Consider a CE that is a host or a router that is multihomed directly
   to more than one PE in an EVPN instance on a given Ethernet segment.
   One or more Ethernet tags may be configured on the Ethernet segment.
   In this scenario, only one of the PEs, referred to as the Designated
   Forwarder (DF), is responsible for certain actions:

   - Sending multicast and broadcast traffic, on a given Ethernet tag on
     a particular Ethernet segment, to the CE.

   - Flooding unknown unicast traffic (i.e., traffic for which a PE does
     not know the destination MAC address), on a given Ethernet tag on a
     particular Ethernet segment to the CE, if the environment requires
     flooding of unknown unicast traffic.

   Note that this behavior, which allows selecting a DF at the
   granularity of <ES, VLAN> or <ES, VLAN bundle> for multicast,
   broadcast, and unknown unicast traffic, is the default behavior in
   this specification.

   Note that a CE always sends packets belonging to a specific flow
   using a single link towards a PE.  For instance, if the CE is a host,
   then, as mentioned earlier, the host treats the multiple links that
   it uses to reach the PEs as a Link Aggregation Group (LAG).  The CE
   employs a local hashing function to map traffic flows onto links in
   the LAG.

   If a bridged network is multihomed to more than one PE in an EVPN
   network via switches, then the support of All-Active redundancy mode
   requires the bridged network to be connected to two or more PEs using
   a LAG.

   If a bridged network does not connect to the PEs using a LAG, then
   only one of the links between the bridged network and the PEs must be
   the active link for a given <ES, VLAN> or <ES, VLAN bundle>.  In this
   case, the set of Ethernet A-D per ES routes advertised by each PE
   MUST have the "Single-Active" bit in the flags of the ESI Label
   extended community set to 1.

   The default procedure for DF election at the granularity of <ES,
   VLAN> for VLAN-based service or <ES, VLAN bundle> for VLAN-(aware)
   bundle service is referred to as "service carving".  With service
   carving, it is possible to elect multiple DFs per Ethernet segment
   (one per VLAN or VLAN bundle) in order to perform load balancing of
   multi-destination traffic destined to a given segment.  The load-
   balancing procedures carve up the VLAN space per ES among the PE

Top      Up      ToC       Page 28 
   nodes evenly, in such a way that every PE is the DF for a disjoint
   set of VLANs or VLAN bundles for that ES.  The procedure for service
   carving is as follows:

   1. When a PE discovers the ESI of the attached Ethernet segment, it
      advertises an Ethernet Segment route with the associated ES-Import
      extended community attribute.

   2. The PE then starts a timer (default value = 3 seconds) to allow
      the reception of Ethernet Segment routes from other PE nodes
      connected to the same Ethernet segment.  This timer value should
      be the same across all PEs connected to the same Ethernet segment.

   3. When the timer expires, each PE builds an ordered list of the IP
      addresses of all the PE nodes connected to the Ethernet segment
      (including itself), in increasing numeric value.  Each IP address
      in this list is extracted from the "Originating Router's IP
      address" field of the advertised Ethernet Segment route.  Every PE
      is then given an ordinal indicating its position in the ordered
      list, starting with 0 as the ordinal for the PE with the
      numerically lowest IP address.  The ordinals are used to determine
      which PE node will be the DF for a given EVPN instance on the
      Ethernet segment, using the following rule:

      Assuming a redundancy group of N PE nodes, for VLAN-based service,
      the PE with ordinal i is the DF for an <ES, VLAN V> when (V mod N)
      = i.  In the case of VLAN-(aware) bundle service, then the
      numerically lowest VLAN value in that bundle on that ES MUST be
      used in the modulo function.

      It should be noted that using the "Originating Router's IP
      address" field in the Ethernet Segment route to get the PE IP
      address needed for the ordered list allows for a CE to be
      multihomed across different ASes if such a need ever arises.

   4. The PE that is elected as a DF for a given <ES, VLAN> or <ES, VLAN
      bundle> will unblock multi-destination traffic for that VLAN or
      VLAN bundle on the corresponding ES.  Note that the DF PE unblocks
      multi-destination traffic in the egress direction towards the
      segment.  All non-DF PEs continue to drop multi-destination
      traffic in the egress direction towards that <ES, VLAN> or <ES,
      VLAN bundle>.

      In the case of link or port failure, the affected PE withdraws its
      Ethernet Segment route.  This will re-trigger the service carving
      procedures on all the PEs in the redundancy group.  For PE node
      failure, or upon PE commissioning or decommissioning, the PEs
      re-trigger the service carving.  In the case of Single-Active

Top      Up      ToC       Page 29 
      multihoming, when a service moves from one PE in the redundancy
      group to another PE as a result of re-carving, the PE, which ends
      up being the elected DF for the service, SHOULD trigger a MAC
      address flush notification towards the associated Ethernet
      segment.  This can be done, for example, using the IEEE 802.1ak
      Multiple VLAN Registration Protocol (MVRP) 'new' declaration.

8.6.  Interoperability with Single-Homing PEs

   Let's refer to PEs that only support single-homed CE devices as
   single-homing PEs.  For single-homing PEs, all the above multihoming
   procedures can be omitted; however, to allow for single-homing PEs
   to fully interoperate with multihoming PEs, some of the multihoming
   procedures described above SHOULD be supported even by single-
   homing PEs:

   - procedures related to processing Ethernet A-D routes for the
     purpose of fast convergence (Section 8.2 ("Fast Convergence")), to
     let single-homing PEs benefit from fast convergence

   - procedures related to processing Ethernet A-D routes for the
     purpose of aliasing (Section 8.4 ("Aliasing and Backup Path")), to
     let single-homing PEs benefit from load balancing

   - procedures related to processing Ethernet A-D routes for the
     purpose of a backup path (Section 8.4 ("Aliasing and Backup
     Path")), to let single-homing PEs benefit from the corresponding
     convergence improvement


Next RFC Part