The information in this document is based on these software and hardware versions:
Cisco ASR 9000 Series Aggregation Services Routers
Cisco IOS XR Software that supports PBB-EVPN feature
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document is started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
In PBB-EVPN, Ethernet Segment Identifier (ESI) represents a ‘site’ connected to one or more PEs. Multi-homed PEs discover each other by seeing the same ESI as its local one. But sometimes the default ESIs generated on these PEs don't match. This issue is seen when the PEs run on different software versions. In this case, a PE only sees itself as the nexthop of the ES, and the topology is single-homed (SH).
In additional to ESI, multi-homed PEs also use Import RT to filter BGP EVPN routes from each other, and advertise Source MAC to remote PEs as the next hop of the ES. If Import RT or Source MAC on the PEs are incomplete or mismatch, MHN cannot work properly.
RP/0/RSP1/CPU0:ASR9010-PE1#show evpn ethernet-segment detail ...... Ethernet Segment Id Interface Nexthops ------------------------ -------------- ---------------------------------------- 0080.03c8.4c75.d7ee.8000 BE1 18.104.22.168 ...... ES Import RT : 0000.0000.0000 (Incomplete Configuration) Source MAC : 0000.0000.0000 (Incomplete Configuration)
Starting from ASR 9000 version 6.0, PBB-EVPN ESI format is changed to be RFC 7432 complaint. This means ESI auto-sensing cannot work between a PE running on 6.X and a PE on previous versions.
This diagram shows how the default ESI is generated for version 6.X and older versions.
Step 1: Troubleshoot ESI
Run show evpn ethernet-segment detail to check if the default ESI matches on all PEs. If not, manually configure ESI.
When configuring ESI, different software versions have different requirements. To meet these requirements, it is recommended to change ESI on all devices.
In version 6.X the first byte is always TYPE(00) so only the other 9 bytes are configurable.
In version 5.X all fields are configurable, but "system ID" field requires that the multicast and admin bits are set to 1.
Configure ESI on version 6.X:
evpn interface Bundle-Ether1 ethernet-segment identifier type 0 80.03.c8.4c.75.d7.ee.80.00
Depending on the load balancing mode, PEs' Source MAC may not be automatically generated. Run show evpn ethernet-segment detail to check the Source MAC and manually configure it if it mismatches or shows "incomplete". Note that all-active per flow mode requires the Source MAC to be the same, while single-active per vlan mode requires it to be different for each PE.
Make sure the ES Import RT matches on all PEs. On version 5.X the ES Import RT is not configurable and not listed in the output of show evpn ethernet-segment detail . You can run show bgp l2vpn evpn to find out the ES Import RT from its locally generated Type 4 EVPN route: