EVPN Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

EVPN Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

EVPN bridging and E-Line services over BGP-LU underlay

Want to summarize with AI?

Log in

Introduces EVPN bridging and E-Line services over a BGP-LU underlay, enabling end-to-end connectivity between data centers, supporting EVPN E-LAN and E-Line service types, and offering transport, BGP-LU, and service-level load balancing.


A BGP Labeled Unicast (BGP-LU) underlay is a network transport method that

  • enables configuration of end-to-end services between data centers

  • supports various EVPN E-LAN and E-Line services, and

  • provides load balancing at the transport, BGP-LU, and service levels.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 26.2.1

Introduced in this release on: Modular Systems (8800 [LC ASIC: K100])(select variants only*);

*This feature is supported on Cisco 88-LC1-48Y8H-EM line cards.

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 25.4.1

Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*)

*This feature is now supported on:

  • 8011-32Y8L2H2FH

  • 8011-12G12X4Y-A

  • 8011-12G12X4Y-D

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 25.2.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100, K100], 8010 [ASIC: A100]); Modular Systems (8800 [LC ASIC: P100])

You can now configure end-to-end services between data centers using the BGP Labeled Unicast (BGP-LU) underlay with segment routing.

The feature supports EVPN E-LAN and E-Line services and enables load balancing across transport, BGP-LU, and service levels using segment routing.

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 25.1.1

Introduced in this release on: Fixed Systems (8010 [ASIC: A100]) (select variants only*)

*This feature is now supported on the Cisco 8011-4G24Y4H-I routers.

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 24.4.1

Introduced in this release on: Fixed Systems (8700) (select variants only*)

*The EVPN Bridging and E-Line Services over BGP-LU Underlay functionality is now extended to the Cisco 8712-MOD-M routers.

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 24.3.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100])(select variants only*); Modular Systems (8800 [LC ASIC: P100])(select variants only*)

*The EVPN Bridging and E-Line Services over BGP-LU Underlay functionality is now extended to:

  • 8212-48FH-M

  • 8711-32FH-M

  • 88-LC1-52Y8H-EM

  • 88-LC1-12TH24FH-E

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 24.2.11

Introduced in this release on: Modular Systems (8800 [LC ASIC: P100]) (select variants only*)

*The EVPN Bridging and E-Line Services over BGP-LU Underlay functionality is now extended to routers with the 88-LC1-36EH line cards.

EVPN Bridging and E-Line Services over BGP-LU Underlay

Release 7.11.1

You can configure end-to-end services between data centers using the BGP Labeled Unicast (BGP-LU) underlay.

This feature allows you to configure various EVPN E-LAN and E-Line services, and enables load balancing at transport, BGP-LU, and service level.


End-to-end EVPN services with BGP-LU underlay

The EVPN bridging and E-Line services over BGP-LU underlay feature enables configuration of end-to-end EVPN services between data centers. This feature supports equal-cost multipath (ECMP) load balancing at three levels: transport, BGP-LU, and service.

This feature supports these services:

  • EVPN aliasing over BGP-LU using IGP, including segment routing (SR) or non-SR protocols such as LDP or IGP.

  • E-Line services over BGP-LU using IGP.

By leveraging BGP with label switching, this underlay provides seamless connectivity and efficient traffic distribution across data center networks. It allows network administrators to build scalable and resilient inter-data center services with flexible load balancing capabilities.


How EVPN bridging and E-Line services over BGP-LU underlay works

Summary

The key components involved in the EVPN bridging and E-Line services over BGP-LU underlay process are:

  • Leaf nodes: Configure EVPN with bridging and inter-subnet routing; act as default gateways for local hosts.

  • Spine nodes: Route traffic between leaf nodes and serve as route reflectors (RR) for iBGP.

  • Provider edge (PE) device and Data Center Interconnect (DCI): Connect spine nodes across data centers.

  • IS-IS labeled IGP and iBGP: Provide internal routing and route reflection across leaf, spine, and DCI nodes.

  • BGP Labeled Unicast (BGP-LU): Establishes labeled routes tunneled through IS-IS Segment Routing (SR) paths between data centers.

EVPN bridging and E-Line services over BGP-LU underlay use leaf and spine nodes with IS-IS and iBGP routing to establish labeled tunnels across data centers. This setup ensures scalable, resilient bridging and routing with efficient load balancing across interconnected sites.

Workflow

These are the stages of EVPN bridging and E-Line services over BGP-LU underlay.

  1. Configure EVPN with bridging and inter-subnet routing on leaf nodes.
  2. Connect hosts to leaf nodes, which route traffic across spine nodes.
  3. Connect spine nodes through PE devices and DCI for inter-data center connectivity.
  4. Enable IS-IS labeled IGP and iBGP across leaf, spine, and DCI nodes, with spine nodes acting as route reflectors.
  5. Configure IS-IS SR policy across leaf, spine, and DCI nodes.
  6. Establish BGP-LU sessions between data centers.
  7. Learn BGP-LU routes on leaf nodes and tunnel them through IS-IS SR labeled paths. For example, leaf node Leaf428 learns BGP-LU routes for remote loopback addresses 10.0.0.3 and 10.0.0.4.

Result

This process enables scalable and resilient EVPN bridging and E-Line services with efficient load balancing and routing across interconnected data centers.


Configure EVPN bridging and E-Line services over BGP-LU underlay with LDP

Configure EVPN Bridging and E-Line Services overging and E-Line Services over a BGP-LU underlay network using LDP.

This task applies to a network topology with P routers (P1, P2) and PE routers (PE1, PE2, PE3) connected across two BGP autonomous systems (AS 100 and AS 200). P1 connects to P2, and P1 connects to PE1 and PE2 in AS 100, while P2 connects to PE3 in AS 200.

Before you begin

Ensure you have the network topology as described and access to configure IGP, MPLS, and BGP on all routers.

Procedure

1.

Configure IGP, MPLS, and BGP on PE1, PE2, and PE3.

  1. Configure IGP on PE1 and PE2

    Example:

    Router(config)#router ospf pyats_test
    Router(config-ospf)#router-id 54.54.54.54
    Router(config-ospf)#redistribute bgp 100
    Router(config-ospf)#mpls ldp sync
    Router(config-ospf)#mpls ldp auto-config
    Router(config-ospf)#area 0
    Router(config-ospf-ar)#interface loopback0
    Router(config-ospf-ar-if)#exit
    Router(config-ospf-ar)#interface FourHundredGigE0/0/0/2
    Router(config-ospf-ar-if)#commit
    
  2. Configure MPLS on PE1 and PE2.

    Example:

    Router(config)# mpls ldp
    Router(config-ldp)# router-id 54.54.54.54
    Router(config-ldp)# address-family ipv4
    Router(config-ldp-af)# label
    Router(config-ldp-af-lbl)# local
    Router(config-ldp-af-lbl)# allocate for host-routes
    Router(config-ldp-af-lbl-lcl)# root
    Router(config)# mpls ldp
    Router(config-ldp)# interface FourHundredGigE0/0/0/2
  3. Configure BGP on PE1 and PE2.

    Example:

    Router(config)#router bgp 100
    Router(config-bgp)#bgp router-id 54.54.54.54
    Router(config-bgp)#address-family ipv4 unicast
    Router(config-bgp-af)#exit
    Router(config-bgp)#address-family l2vpn evpn 
    Router(config-bgp-af)#retain route-target all
    Router(config-bgp-af)#exit
    Router(config-bgp)#neighbor-group IBGP-PEERS
    Router(config-bgp-nbrgrp)#remote-as 100
    Router(config-bgp-nbrgrp)#update-source loopback0
    Router(config-bgp-nbrgrp)#address-family ipv4 unicast
    Router(config-bgp-nbrgrp-af)#exit
    Router(config-bgp-nbrgrp)#address-family l2vpn evpn
  4. Configure IGP, MPLS, and BGP on PE3.

    Example:

    Router# configure
    Router(config)#router ospf pyats_test
    Router(config-ospf)#router-id 51.51.51.51
    Router(config-ospf)#redistribute bgp 200
    Router(config-ospf)#mpls ldp sync
    Router(config-ospf)#mpls ldp auto-config
    Router(config-ospf)#area 0
    Router(config-ospf-ar)#interface loopback0
    Router(config-ospf-ar-if)#exit
    Router(config-ospf-ar)#interface FourHundredGigE0/0/0/10
    Router(config-ospf-ar-if)#commit
    Router(config)# mpls ldp
    Router(config-ldp)# router-id 51.51.51.51
    Router(config-ldp)# address-family ipv4
    Router(config-ldp-af)# label
    Router(config-ldp-af-lbl)# local
    Router(config-ldp-af-lbl-lcl)# allocate for host-routes
    Router(config-ldp-af-lbl-lcl)# root
    Router(config)# mpls ldp
    Router(config-ldp)# interface FourHundredGigE0/0/0/10
    Router(config-ldp-if)# root
    Router(config)#router bgp 100
    Router(config-bgp)#bgp router-id 54.54.54.54
    Router(config-bgp)#address-family ipv4 unicast
    Router(config-bgp-af)#exit
    Router(config-bgp)#address-family l2vpn evpn 
    Router(config-bgp-af)#retain route-target all
    Router(config-bgp-af)#exit
    Router(config-bgp)# neighbor 56.56.56.56
    Router(config-bgp-nbr)#remote-as 200
    Router(config-bgp-nbr)#update-source loopback0
    Router(config-bgp-nbr)#address-family ipv4 unicast
    Router(config-bgp-nbr-af)#exit
    Router(config-bgp-nbr)#address-family l2vpn evpn
2.

Configure iBGP peer on P1 and PE2.

  1. Configure iBGP peer on P1.

    Example:

    Router(config-bgp)# neighbor 52.52.52.52
    Router(config-bgp-nbr)# use neighbor-group IBGP-PEERS
  2. Configure iBGP peer on PE2.

    Example:

    Router(config-bgp)# neighbor 55.55.55.55 
    Router(config-bgp-nbr)# remote-as 100
    Router(config-bgp-nbr)# use neighbor-group IBGP-PEERS
    Router(config-bgp-nbr)# update-source Loopback0
    Router(config-bgp-nbr)# address-family l2vpn evpn
3.

Configure P2 as route reflector.

Example:

Router(config)# prefix-set LOOPBACKS
Router(config-pfx)# 53.53.53.53,
Router(config-pfx)# 54.54.54.54,
Router(config-pfx)# 55.55.55.55,
Router(config-pfx)# 52.52.52.52,
Router(config-pfx)# 56.56.56.56,
Router(config-pfx)# 51.51.51.51
Router(config-pfx)# end-set
Router(config)# route-policy passall
Router(config-rpl)# pass
Router(config-rpl)# end-policy
Router(config)# route-policy MATCH_LOOPBACKS
Router(config-rpl)#if destination in LOOPBACKS then
Router(config-rpl-if)#pass
Router(config-rpl-if)#else
Router(config-rpl-else)#drop
Router(config-rpl-else)#endif
Router(config-rpl)#end-policy
4.

Configure route policy, IGP, MPLS, and BGP on P1 and P2.

  1. Configure route policy, IGP, MPLS, and BGP on P1.

    Example:

    
    Router(config)#router ospf pyats_test
    Router(config-ospf)#router-id 52.52.52.52
    Router(config-ospf)#redistribute bgp 100
    Router(config-ospf)#mpls ldp sync
    Router(config-ospf)#mpls ldp auto-config
    Router(config-ospf)#area 0
    Router(config-ospf-ar)#interface loopback0
    Router(config-ospf-ar-if)#exit
    Router(config-ospf-ar)#interface FourHundredGigE0/0/0/11
    Router(config-ospf-ar-if)#exit
    Router(config-ospf-ar)#interface FourHundredGigE0/0/0/12 
    Router(config-ospf-ar-if)#root
    Router(config)# router static
    Router(config-static)# address-family ipv4 unicast
    Router(config-static-afi)# 100.0.0.2/32 FourHundredGigE0/0/0/13
    Router(config-static-afi-if)# root
    Router(config)# mpls ldp
    Router(config-ldp)# router-id 52.52.52
    Router(config-ldp)# address-family ipv4
    Router(config-ldp-af)# label
    Router(config-ldp-af-lbl)# local
    Router(config-ldp-af-lbl-lcl)# allocate for host-routes
    Router(config-ldp-af-lbl-lcl)# root
    Router(config)# mpls ldp
    Router(config-ldp)# interface FourHundredGigE0/0/0/11
    Router(config-ldp-if)# exit
    Router(config-ldp)# interface FourHundredGigE0/0/0/12
  2. Configure route policy, IGP, MPLS, and BGP on P2.

    Example:

    Router(config)#router ospf pyats_test
    Router(config-ospf)#router-id 56.56.56.56
    Router(config-ospf)#redistribute bgp 200
    Router(config-ospf)#mpls ldp sync
    Router(config-ospf)#mpls ldp auto-config
    Router(config-ospf)#area 0
    Router(config-ospf-ar)#interface loopback0
    Router(config-ospf-ar-if)#passive enable
    Router(config-ospf-ar-if)#exit
    Router(config-ospf-ar)#interface FourHundredGigE0/0/0/2
    Router(config-ospf-ar)#root
    Router(config)# router static
    Router(config-static)# address-family ipv4 unicast
    Router(config-static-afi)# 100.0.0.1/32 FourHundredGigE0/0/0/5
    Router(config-static-afi)# root
    Router(config)# mpls ldp
    Router(config-ldp)# router-id 56.56.56.56
    Router(config-ldp)# address-family ipv4
    Router(config-ldp-af)# label
    Router(config-ldp-af-lbl)# local
    Router(config-ldp-af-lbl-lcl)# allocate for host-routes
    Router(config-ldp-af-lbl-lcl)# root
    Router(config)# mpls ldp
    Router(config-ldp)# interface FourHundredGigE0/0/0/4
  3. Configure router reflector client on P2, which is essential for copying the EVPN routes between the AS.

    Example:

    
    Router(config)#router bgp 200
    Router(config-bgp)#bgp router-id 56.56.56.56
    Router(config-bgp)#address-family ipv4 unicast
    Router(config-bgp-af)#network 51.51.51.51/32
    Router(config-bgp-af)#network 52.52.52.52/32
    Router(config-bgp-af)#network 53.53.53.53/32
    Router(config-bgp-af)#network 54.54.54.54/32
    Router(config-bgp-af)#network 55.55.55.55/32
    Router(config-bgp-af)#network 56.56.56.56/32
    Router(config-bgp-af)#redistribute connected
    Router(config-bgp-af)#redistribute ospf 0
    Router(config-bgp-af)#allocate-label all
    Router(config-bgp-af)#exit
    Router(config-bgp)#address-family l2vpn evpn 
    Router(config-bgp-af)#retain route-target all
    Router(config-bgp-af)#exit
    Router(config-bgp)#neighbor-group IBGP-PEERS
    Router(config-bgp-nbrgrp)#remote-as 200
    Router(config-bgp-nbr)#update-source loopback0
    Router(config-bgp-nbr)#address-family ipv4 unicast
    Router(config-bgp-nbr-af)#exit
    Router(config-bgp-nbr)#address-family l2vpn evpn
    Router(config-bgp-nbr-af)#route-reflector-client
5.

Configure P1 and P2 as eBGP neighbor.

  1. Configure P1 as eBGP neighbor.

    Example:

    Router(config-bgp)# neighbor 100.0.0.1
    Router(config-bgp-nbr)#remote-as 100
    Router(config-bgp-nbr)#ebgp-multihop 255
    Router(config-bgp-nbr)#address-family ipv4 labeled-unicast 
    Router(config-bgp-nbr-af)#next-hop-self 
    Router(config-bgp-nbr-af)#route-policy passall in
    Router(config-bgp-nbr-af)#route-policy MATCH_LOOPBACKS out
    Router(config-bgp-nbr-af)#send-extended-community-ebgp 
    Router(config-bgp-nbr-af)#exit
    Router(config-bgp-nbr)#address-family l2vpn evpn
    Router(config-bgp-nbr-af)#route-policy passall in
    Router(config-bgp-nbr-af)#route-policy passall out
    Router(config-bgp-nbr-af)#next-hop-unchanged
  2. Configure P2 as eBGP neighbor.

    Example:

    Router(config-bgp)# neighbor 100.0.0.2
    Router(config-bgp-nbr)#remote-as 200
    Router(config-bgp-nbr)#ebgp-multihop 255
    Router(config-bgp-nbr)#address-family ipv4 labeled-unicast 
    Router(config-bgp-nbr-af)#next-hop-self 
    Router(config-bgp-nbr-af)#route-policy passall in
    Router(config-bgp-nbr-af)#route-policy MATCH_LOOPBACKS out
    Router(config-bgp-nbr-af)#send-extended-community-ebgp 
    Router(config-bgp-nbr-af)#exit
    Router(config-bgp-nbr)#address-family l2vpn evpn
    Router(config-bgp-nbr-af)#route-policy passall in
    Router(config-bgp-nbr-af)#route-policy passall out
    Router(config-bgp-nbr-af)#next-hop-unchanged
6.

Configure PE1, PE2, and PE3 as iBGP neighbor.

  1. Configure PE3 as iBGP neighbor.

    Example:

    Router(config-bgp)#neighbor 51.51.51.51 
    Router(config-bgp-nbr)#use neighbor-group IBGP-PEERS
  2. Configure PE1 and PE2 as iBGP neighbor.

    Example:

    
    Router(config-bgp)#neighbor 54.54.54.54 
    Router(config-bgp-nbr)#use neighbor-group IBGP-PEERS
    Router(config-bgp-nbr)#exit
    Router(config-bgp)#neighbor 55.55.55.55 
    Router(config-bgp-nbr)#use neighbor-group IBGP-PEERS
7.

For P1, the iBGP peers are PE1 and PE2, and the eBGP peer is P2.

  1. For P1, the iBGP peers are PE1 and PE2, and the eBGP peer is P2.

    Example:

    Router(config)# prefix-set LOOPBACKS
    Router(config-pfx)# 53.53.53.53,
    Router(config-pfx)# 54.54.54.54,
    Router(config-pfx)# 55.55.55.55,
    Router(config-pfx)# 52.52.52.52,
    Router(config-pfx)# 56.56.56.56,
    Router(config-pfx)# 51.51.51.51
    Router(config-pfx)# end-set
    Router(config)# route-policy passall
    Router(config-rpl)# pass
    Router(config-rpl)# end-policy
    Router(config)# route-policy MATCH_LOOPBACKS
    Router(config-rpl)#if destination in LOOPBACKS then
    Router(config-rpl-if)#pass
    Router(config-rpl-if)#else
    Router(config-rpl-else)#drop
    Router(config-rpl-else)#endif
    Router(config-rpl)#end-policy
    
  2. Configure router reflector client.

    Example:

    
    Router(config)#router bgp 100
    Router(config-bgp)#bgp router-id 52.52.52.52
    Router(config-bgp)#address-family ipv4 unicast
    Router(config-bgp-af)#network 51.51.51.51/32
    Router(config-bgp-af)#network 52.52.52.52/32
    Router(config-bgp-af)#network 53.53.53.53/32
    Router(config-bgp-af)#network 54.54.54.54/32
    Router(config-bgp-af)#network 55.55.55.55/32
    Router(config-bgp-af)#network 56.56.56.56/32
    Router(config-bgp-af)#redistribute connected
    Router(config-bgp-af)#redistribute ospf 0
    Router(config-bgp-af)#allocate-label all
    Router(config-bgp-af)#exit
    Router(config-bgp)#address-family l2vpn evpn 
    Router(config-bgp-af)#retain route-target all
    Router(config-bgp-af)#exit
    Router(config-bgp)#neighbor-group IBGP-PEERS
    Router(config-bgp-nbrgrp)#remote-as 100
    Router(config-bgp-nbr)#update-source loopback0
    Router(config-bgp-nbr)#address-family ipv4 unicast
    Router(config-bgp-nbr-af)#exit
    Router(config-bgp-nbr)#address-family l2vpn evpn
    Router(config-bgp-nbr-af)#route-reflector-client
8.

Configure L2VPN and EVPN on PE1, PE2, and PE3.

Example:

Router(config)# l2vpn 
Router(config-l2vpn)# bridge group bg1
Router(config-l2vpn-bg)# bridge-domain bd1
Router(config-l2vpn-bg-bd)# interface Bundle-Ether3.1
Router(config-l2vpn-bg-bd-ac)# evi 1
Router(config-l2vpn-bg-bd-ac)# root
Router(config)# l2vpn 
Router(config-l2vpn)# bridge group bg2
Router(config-l2vpn-bg)# bridge-domain bd2
Router(config-l2vpn-bg-bd)# interface Bundle-Ether3.2
Router(config-l2vpn-bg-bd-ac)# evi 2
Router(config-l2vpn-bg-bd-ac-evi)# root
Router(config)# evpn
Router(config-evpn)# evi 1
Router(config-evpn-evi)# advertise-mac
Router(config-evpn-evi)# exit
Router(config-evpn)# evi 2
Router(config-evpn-evi)# advertise-mac
9.

Use these show commands to verify that you have successfully configured EVPN bridging and E-Line services over BGP-LU underlay with LDP.

  • show evpn internal-label vpn-id 1 detail

  • show bgp l2vpn evpn route-type inclusive-mcast

  • show l2vpn forwarding bridge-domain mac location 0/RP0/CPU0

  • show bgp l2vpn evpn route-type mac-advertisement

Example:

Router# show evpn internal-label vpn-id 1 detail

VPN-ID     Encap  Ethernet Segment Id         EtherTag     Label   
---------- ------ --------------------------- ----------   --------
1          MPLS   0040.0000.0000.0000.0001    0            24010   
   Multi-paths resolved: TRUE (Remote all-active) 
   Multi-paths Internal label: 24010
    EAD/ES  (ID:0x0000000000000652)
                54.54.54.54                                0              
                55.55.55.55                                0              
    EAD/EVI (ID:0x0000000000000649)
                54.54.54.54                                24000          
                55.55.55.55                                24000          
   Summary pathlist (ID 0x000000000000064d):
 0x02000001 (P) 54.54.54.54                                24000          
 0x02000002 (P) 55.55.55.55                                24000          
Router# show bgp l2vpn evpn route-type inclusive-mcast

BGP router identifier 51.51.51.51, local AS number 200
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0
BGP table nexthop route policy: 
BGP main routing table version 100
BGP NSR Initial initsync version 1 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 51.51.51.51:1 (default for vrf bd1)
Route Distinguisher Version: 94
*> [3][0][32][51.51.51.51]/80
                      0.0.0.0                                0 i N
*>i[3][0][32][54.54.54.54]/80
                      54.54.54.54                   100      0 100 i N
*>i[3][0][32][55.55.55.55]/80
                      55.55.55.55                   100      0 100 i N
Route Distinguisher: 51.51.51.51:2 (default for vrf bd2)
Route Distinguisher Version: 100
*> [3][0][32][51.51.51.51]/80
                      0.0.0.0                                0 i N
*>i[3][0][32][54.54.54.54]/80
                      54.54.54.54                   100      0 100 i N
*>i[3][0][32][55.55.55.55]/80
                      55.55.55.55                   100      0 100 i N
Route Distinguisher: 54.54.54.54:1
Route Distinguisher Version: 92
*>i[3][0][32][54.54.54.54]/80
                      54.54.54.54                   100      0 100 i N
Route Distinguisher: 54.54.54.54:2
Route Distinguisher Version: 99
*>i[3][0][32][54.54.54.54]/80
                      54.54.54.54                   100      0 100 i N
Route Distinguisher: 55.55.55.55:1
Route Distinguisher Version: 67
*>i[3][0][32][55.55.55.55]/80
                      55.55.55.55                   100      0 100 i N
Route Distinguisher: 55.55.55.55:2
Route Distinguisher Version: 96
*>i[3][0][32][55.55.55.55]/80
                      55.55.55.55                   100      0 100 i N

Processed 10 prefixes, 10 paths
Router# show l2vpn forwarding bridge-domain mac location 0/RP0/CPU0

 To Resynchronize MAC table from the Network Processors, use the command...
    l2vpn resynchronize forwarding mac-address-table location <r/s/i>

Mac Address    Type    Learned from/Filtered on    LC learned Resync Age/Last Change Mapped to       
-------------- ------- --------------------------- ---------- ---------------------- --------------  
0000.cccc.dddd dynamic FH0/0/0/0.2                 N/A        12 Mar 13:17:36        N/A   --> MAC 0000.cccc.dddd was locally learned from interface FH0/0/0/0.2         
0000.aaaa.bbbb EVPN    BD id: 1                    N/A        N/A                    N/A   --> MAC 0000.aaaa.bbbb was advertised from PE1/PE2
Router# show bgp l2vpn evpn route-type mac-advertisement

BGP router identifier 51.51.51.51, local AS number 200
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0
BGP table nexthop route policy: 
BGP main routing table version 100
BGP NSR Initial initsync version 1 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 51.51.51.51:2 (default for vrf bd2)
Route Distinguisher Version: 100
*>i[2][0][48][0000.aaaa.bbbb][0]/104 --> 
                      54.54.54.54                   100      0 100 i N
* i                   55.55.55.55                   100      0 100 i N
*> [2][0][48][0000.cccc.dddd][0]/104 --> 
                      0.0.0.0                                0 i N
Route Distinguisher: 54.54.54.54:2
Route Distinguisher Version: 99
*>i[2][0][48][0000.aaaa.bbbb][0]/104
                      54.54.54.54                   100      0 100 i N
Route Distinguisher: 55.55.55.55:2
Route Distinguisher Version: 96
*>i[2][0][48][0000.aaaa.bbbb][0]/104
                      55.55.55.55                   100      0 100 i N
Processed 4 prefixes, 5 paths

Configure EVPN bridging and E-Line services over BGP-LU underlay with SR

Configure EVPN bridging and E-Line services over a BGP-LU underlay network using SR for efficient traffic engineering and simplified forwarding.

This task applies to networks where Segment Routing is enabled within the IGP domain using IS-IS, and BGP-LU is used to advertise loopback addresses with associated SR labels. The configuration involves PE and Route Reflector (RR) nodes participating in EVPN services over the SR-enabled underlay.

Before you begin

Ensure all participating nodes support IS-IS with Segment Routing and BGP-LU. Have loopback interfaces configured for router IDs and SR prefix SIDs assigned.

Procedure

1.

Configure IS-IS with SR on all participating nodes.

Configure SR with IS-IS to enable SR within the IGP domain and assign prefix SIDs to the router loopback interface. Configure all the participating nodes, which include the PE or Route Reflector (RR) nodes in the underlay to run IS-IS and advertise their loopbacks with SIDs. The prefix SID varies for each node and instance.

Example:

Router#config
Router(config)#router isis igp1
Router(config-isis)#address-family ipv4 unicast 
Router(config-isis-af)#segment-routing mpls sr-prefer 
Router(config-isis-af)#segment-routing prefix-sid-map advertise-local
Router(config-isis-af)#exit
Router(config-isis)#address-family ipv6 unicast 
Router(config-isis-af)#segment-routing mpls sr-prefer 
Router(config-isis-af)#segment-routing prefix-sid-map advertise-local
Router(config-isis-af)#exit
Router(config-isis)#interface Loopback 0
Router(config-isis-if)#passive 
Router(config-isis-if)#address-family ipv4 unicast 
Router(config-isis-if-af)#prefix-sid index 1 
Router(config-isis-if-af)#exit
Router(config-isis-if)#address-family ipv6 unicast 
Router(config-isis-if-af)#prefix-sid index 101
2.

Configure BGP on all nodes.

Ensure that the bgp router-id is the loopback address used for peering and SR SID assignment. The router ID varies for each node.

Example:

Router(config)#router bgp 65600
Router(config-bgp)#nsr
Router(config-bgp)#bgp router-id 192.168.1.1
Router(config-bgp)#bgp graceful-restart 
Router(config-bgp)#ibgp policy out enforce-modifications
3.

Enable the BGP-LU address families and advertise the router loopback address with an associated label derived from the SR node SID.

Configure all the participating nodes to advertise the router loopback address through BGP-LU.

Example:

The network and SID index vary for each node. The following is a sample configuration for IPv4 and IPv6 unicast address families.

Router#config
Router(config)#router bgp 64600
Router(config-bgp)#address-family ipv4 unicast 
Router(config-bgp-af)#additional-paths receive 
Router(config-bgp-af)#additional-paths send
Router(config-bgp-af)#nexthop trigger-delay critical 50
Router(config-bgp-af)#network 192.168.1.1/32 route-policy SID (1)
Router(config-bgp-af)#allocate-label all
Router(config-bgp-af)#exit             
Router(config-bgp)#address-family ipv6 unicast 
Router(config-bgp-af)#additional-paths receive 
Router(config-bgp-af)#additional-paths send 
Router(config-bgp-af)#nexthop trigger-delay critical 50
Router(config-bgp-af)#network 2001:DB8::/32 route-policy SID (101)
Router(config-bgp-af)#allocate-label all

Example:

Sample route-policy configuration.

Router#config
Router(config)#route-policy SID ($SID)
Router(config-rpl)#set label-index $SID
Router(config-rpl)#end-policy 
4.

Configure BGP neighbors and neighbor groups.

Configure the BGP neighbors or neighbor groups to establish iBGP peering between all the participating nodes such as PEs and RRs, and enable the BGP-LU and EVPN address families.

  1. Create a session group with remote AS and update source as loopback0.

    Example:

    Router(config)#router bgp 64600 
    Router(config-bgp)#session-group current
    Router(config-bgp-sngrp)#remote-as 64600
    Router(config-bgp-sngrp)#update-source Loopback 0
  2. Configure a BGP neighbor group for BGP-LU for IPv4 and IPv6 address families.

    Example:

    
    Router(config-bgp)#neighbor-group bgp-lu-rr
    Router(config-bgp-nbrgrp)#use session-group current
    Router(config-bgp-nbrgrp)#address-family ipv4 labeled-unicast 
    Router(config-bgp-nbrgrp-af)#next-hop-self 
    Router(config-bgp-nbrgrp-af)#exit
    Router(config-bgp-nbrgrp)#address-family ipv6 labeled-unicast 
    Router(config-bgp-nbrgrp-af)#next-hop-self 
    Router(config-bgp-nbrgrp-af)#exit
  3. Configure BGP neighbor group for L2VPN services such as VPLS-VPWS and EVPN address families.

    Example:

    Router(config-bgp)#neighbor-group bgp-lu-rr
    Router(config-bgp-nbrgrp)#use session-group current
    Router(config-bgp-nbrgrp)#address-family ipv4 labeled-unicast 
    Router(config-bgp-nbrgrp-af)#next-hop-self 
    Router(config-bgp-nbrgrp-af)#exit
    Router(config-bgp-nbrgrp)#address-family ipv6 labeled-unicast
    Router(config-bgp-nbrgrp)#address-family l2vpn vpls-vpws 
    Router(config-bgp-nbrgrp-af)#exit
    Router(config-bgp-nbrgrp)#address-family l2vpn evpn
  4. Associate an individual BGP neighbor with a predefined neighbor group.

    Example:

    Router(config)#router bgp 64600
    Router(config-bgp)#neighbor 192.168.101.1 
    Router(config-bgp-nbr)#use neighbor-group bgp-lu-rr
    Router(config-bgp-nbr)#commit