MPLS transport for EVPN services
This chapter describes the infrastructure in SR Linux required to support EVPN for MPLS services. SR Linux support for MPLS itself and a detailed description of the MPLS label manager are described in the SR Linux MPLS Guide.
SR Linux features an MPLS label manager process that shares the MPLS label space among client applications that require MPLS labels; these applications include not only the applications managing the different MPLS supported protocols (LDP, SR-ISIS, and so on) but also EVPN manager and network-instance manager.
For an application such as LDP or a BGP-EVPN instance to become operational, it must be configured with a reference to a predefined range of labels, called a label block. A label block configuration includes a start-label value and an end-label value. When the label block is made available to an application, the application can use any label in the range between the start-label and end-label, inclusive of those values. The MPLS label manager ensures there is no configuration overlap between the labels of two different label blocks.
EVPN/IP-VPN services and pseudowires require label blocks allocated by label manager, as follows:
- A label block to be used by EVPN/IP-VPN and dynamic pseudowires is requested by network-instance manager based on the configuration of the system mpls services network-instance dynamic-label-block <name> statement. Out of this label block, a label per IP-VRF is used.
- Static pseudowires can make use of a separate static label block configured by the system mpls services network-instance static-label-block <name> statement.
- On 7250 IXR-X1b/X3b platforms, an additional label block must be configured to support multicast labels in MAC-VRF network-instances. This additional label block is configured with the system mpls services network-instance dynamic-evpn-inclusive-multicast-label-block <name> statement. This additional label block is not required on other platforms, where the multicast labels can be drawn from the dynamic label block allocated to network-instances.
- EVPN manager also requires configuration of a dynamic label block to be used for EVPN applications that are not network-instance specific; for example, EVPN multihoming ESI labels. This block is configured with the system mpls services evpn dynamic-label-block <name> statement.
- If the router is configured for inter-AS option B or next-hop-self route reflector functions, when acting as ASBR/ABR, a new label block is required so that service-label swap operations can be programmed. These labels are drawn from the label block configured with the network-instance default protocols bgp bgp-label bgp-vpn dynamic-label-block <name> statement, and are used for both EVPN and IP-VPN services.
If the system is not able to allocate a label, for example for a MAC-VRF where EVPN MPLS
is enabled (either for unicast or multicast), the bgp-instance
is kept
down (there is no automatic retrying) with oper-down-reason
no-mpls-label
. In this case, ensure labels are made available, then re-add
the bgp-instance
so that the system can make another attempt to
allocate a label.