Configuring Seamless Integration of EVPN with L3VPN (MPLS LDP)

This chapter contains these sections:

Information About Configuring Seamless Integration of EVPN with L3VPN (MPLS LDP)

Data center deployments have adopted VXLAN EVPN for its benefits like EVPN control-plane learning, multitenancy, seamless mobility, redundancy, and easier POD additions. Similarly, the Core is either an LDP-based MPLS L3VPN network or transitioning from a traditional MPLS L3VPN LDP-based underlay to a more sophisticated solution like segment routing (SR). Segment routing is adopted for its benefits like unified IGP and MPLS control planes, simpler traffic engineering methods, easier configuration, and SDN adoption.

  • EVPN control-plane learning

  • Multitenancy, seamless mobility, redundancy

  • Easier POD additions

Handoff from VXLAN to MPLS-based Core at DCI Nodes

Guidelines and Limitations for Configuring Seamless Integration of EVPN with L3VPN (MPLS LDP)

Supported Features

The following features are supported:

  • Cisco Nexus 9504 and 9508 switches with -R and -RX line cards.

  • Layer 3 orphans

  • 256 peers or nodes within a VXLAN DC domain

  • 24,000 ECMP routes are supported on -RX line cards.


    Note


    If you enter the no hardware profile mpls extended-ecmp command, the mode switches to 4K ECMP routes. This applies only when the line card is -RX and the ECMP group has exactly two paths.


  • The Egress RACL (e-RACL) TCAM and MPLS Extended ECMP features are mutually exclusive. To enable MPLS Extended ECMP (hardware profile mpls extended-ecmp ) on the Cisco Nexus N9K-X9636C-RX line card, set the e-RACL TCAM carving to 0.

  • When configuring MPLS LDP, it is strongly recommended to use the router-id force command. Specify the router ID with a loopback interface to ensure consistent LDP operation and avoid issues with the order of interface initialization.

Unsupported Features

The following features are not supported:

  • Subnet stretches across the DC domain

  • vPC

  • SVI or subinterfaces

Configuring Seamless Integration of EVPN with L3VPN (MPLS LDP)

These configuration steps are required on a Border Leaf switch to import and re-originate the routes from a VXLAN domain to an MPLS domain and back to a VXLAN domain.

Procedure


Step 1

configure terminal

Example:

switch# configure terminal

Enters global configuration mode.

Step 2

feature mpls l3vpn

Example:

switch# feature mpls l3vpn

Enables the MPLS Layer 3 VPN feature.

  1. feature mpls ldp

    Example:

    switch# feature mpls ldp

    Enables the MPLS Label Distribution Protocol (LDP).

Step 3

nv overlay evpn

Example:

switch(config)# nv overlay evpn

Enables the EVPN control plane for VXLAN.

Step 4

router bgp number

Example:

switch(config)# router bgp 100

Configures BGP. The value of the number argument is from 1 to 4294967295.

  1. address-family ipv4 unicast

    Example:

    switch(config-router)# address-family ipv4 unicast

    Configures the address family for IPv4.

  2. redistribute direct route-map route-map-name

    Example:

    switch(config-router-af)# redistribute direct route-map passall

    Configures the directly connected route map.

  3. exit

    Example:

    switch(config-router-af)# exit

    Exits command mode.

  4. address-family l2vpn evpn

    Example:

    switch(config-router)# address-family l2vpn evpn

    Configures the L2VPN address family.

  5. exit

    Example:

    switch(config-router-af)# exit

    Exits command mode.

Step 5

neighbor address remote-as number

Example:

switch(config-router)# neighbor 108.108.108.108 remote-as 22    

Configures a BGP neighbor. The range of the number argument is from 1 to 65535.

  1. update-source type/id

    Example:

    switch(config-router-neighbor)# update-source loopback100

    Specifies the source of the BGP session and updates.

  2. ebgp-multihop ttl-value

    Example:

    switch(config-router-neighbor)# ebgp-multihop 10

    Specifies the multihop TTL for the remote peer. The range of ttl-value is from 2 to 255.

  3. address-family ipv4 unicast

    Example:

    switch(config-router-neighbor)# address-family ipv4 unicast

    Configures the unicast sub-address family.

  4. send-community extended

    Example:

    switch(config-router-neighbor-af)# send-community extended

    Configures the community attribute for this neighbor.

  5. exit

    Example:

    switch(config-router-neighbor-af)# exit

    Exits command mode.

  6. exit

    Example:

    switch(config-router-neighbor-af)# exit

    Exits command mode.

Step 6

address-family vpnv4 unicast

Example:

switch(config-router-neighbor)# address-family vpnv4 unicast

Configures the address family for IPv4.

  1. send-community extended

    Example:

    switch(config-router)# send-community extended

    Sends the extended community attribute.

  2. import l2vpn evpn reoriginate

    Example:

    switch(config-router)# import l2vpn evpn reoriginate

    Reoriginates the route with a new RT.

Step 7

neighbor address remote-as number

Example:

switch(config-router)# neighbor 175.175.175.2 remote-as 1    

Defines the neighbor.

  1. address-family ipv4 unicast

    Example:

    switch(config-router)# address-family ipv4 unicast

    Configures the address family for IPv4.

  2. send-community extended

    Example:

    switch(config-router)# send-community extended

    Configures the community for BGP neighbors.

Step 8

address-family ipv6 unicast

Example:

switch(config-router)# address-family ipv6 unicast

Configures the IPv6 unicast address family. This is required for IPv6 over VXLAN with an IPv4 underlay.

  1. send-community extended

    Example:

    switch(config-router)# send-community extended

    Configures the community for BGP neighbors.

  2. address-family l2vpn evpn

    Example:

    switch(config-router)# address-family l2vpn evpn

    Configures the L2VPN address family.

  3. send-community extended

    Example:

    switch(config-router)# send-community extended

    Configures the community for BGP neighbors.

Step 9

import vpn unicast reoriginate

Example:

switch(config-router)# import vpn unicast reoriginate

Reoriginates the route with a new RT.