Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleNote

EVPN feature is only available on X86 platforms.


PICOS version 4.0 and higher offer both Symmetric and Asymmetric routing for BGP EVPN hosts. In this document we will examine the case of Asymmetric EVPN routing with two hosts in different VNIs on two devices, R1 and R2.

Figure 1 depicts how packet exchange between two hosts occurs in asymmetric BGP EVPN routing model. In the asymmetric routing model, the two end hosts, Host1 and Host2 are in two different VLANs and different VNIs. Host1 intends to communicate with Host2, sends a packet with destination MAC address of of R1 because R1 is configured as the gateway on Host1. On R1, the gateway is configured on an interface that belongs to VNI Y30. The packet from Host1 on ingress at R1 is first routed to VNI Y 30 within R1 and then bridged to R2 over the VXLAN tunnel VNI Y30. On receiving the packet, R2 will strip off the VXLAN header and forward the packet to Host2. 

Image RemovedImage Added

                                                   Figure 1. EVPN Asymmetric Routing Model

...

The one limitation in this model is that both the devices must have the two VXLAN VNIs configured regardless if there are any hosts connected to it. In Figure 1, Host1 belongs to VNI X 10 but both VNI X 10 and VNI Y 30 are configured on R1. Similarly, Host2 belongs to VNI Y 30 but both VNI X 10 and VNI Y 30 are configured on R2 for asymmetric routing to work properly.

...

Step 1: Configure VLAN ID, L3 VLAN interfaces loopback interfaces and IP addressing. The MTU value of layer 3 interfaces is set to 1450 to ensure there is enough space for the overlay VXLAN header. The switch will complain and refuse to commit the configuration if MTU size is not set to 1450.  Interface te-1/1/10 connects to PC1.

Code Block
admin@R1# set evpninterface vrf vrf1 vni 100 prefix-routes-only
admin@R1# set interface gigabit-ethernet te-1/1/1 family ethernetgigabit-ethernet te-1/1/1 family ethernet-switching native-vlan-id 4094
admin@R1# set interface gigabit-ethernet te-1/1/2 family ethernet-switching native-vlan-id 10
admin@R1# set interface gigabit-ethernet te-1/1/10 family ethernet-switching native-vlan-id 10
admin@R1# set l3-interface loopback lo address 1.1.1.1 prefix-length 32
admin@R1# set l3-interface loopback vrf1 address 201.201.201.201 prefix-length 32
admin@R1# set l3-interface vlan-interface vlan4094 mtu 1450
admin@R1# set l3-interface vlan-interface vlan4094 address 40.94.0.2 prefix-length 24
admin@R1# set l3-interface vlan-interface vlan10 vrf "vrf1"
admin@R1# set l3-interface vlan-interface vlan10 mtu 1450
admin@R1# set l3-interface vlan-interface vlan10 address 10.1.1.201 prefix-length 24
admin@R1# set l3-interface vlan-interface vlan1111 vrf "vrf1"
admin@R1# set l3-interface vlan-interface vlan1111 router-mac 00:16:16:16:16:16
admin@R1# set l3-interface vlan-interface vlan1111 mtu 1450
admin@R1# set vlans vlan-id 10 l3-interface "vlan10"
admin@R1# set vlans vlan-id 30 l3-interface "vlan30"
admin@R1# set vlans vlan-id 1111 l3-interface "vlan1111"
admin@R1# set vlans vlan-id 4094 l3-interface "vlan4094"
admin@R1# set vxlans source-interface lo address 1.1.1.1
admin@R1# set vxlans vni 100 vlan 1111
admin@R1# set vxlans vni 10 vlan 10
admin@R1# set vxlans vni 30 vlan 30
admin@R1# set vxlans vrf vrf1 l3-vni 100 prefix-routes-only


Step 2: Configure VXLAN VNI and map VNI IDs to VLAN IDs.

...

Code Block
admin@R1# set protocols bgp local-as 65001
admin@R1# set protocols bgp router-id 1.1.1.1
admin@R1# set protocols bgp neighbor 2.2.2.2 remote-as "internal"
admin@R1# set protocols bgp neighbor 2.2.2.2 update-source "1.1.1.1"
admin@R1# set protocols bgp ipv4-unicastneighbor 2.2.2.2 evpn activate
admin@R1# set protocols bgp evpn advertise-all-vniipv4-unicast
admin@R1# set protocols bgp evpn advertise ipv4-all-unicastvni
admin@R1# set protocols bgp evpn neighbor 2.2.2.2 activateadvertise ipv4-unicast
admin@R1# set protocols bgp vrf vrf1 local-as 65001
admin@R1# set protocols bgp vrf vrf1 router-id 1.1.1.1
admin@R1# set protocols bgp vrf vrf1 evpn advertise ipv4-unicast
admin@R1# set protocols bgp vrf vrf1 ipv4-unicast network
10.1.1.0/24
admin@R1# set protocols ospf router-id 1.1.1.1
admin@R1# set protocols ospf network 40.94.0.0/24 area 0.0.0.0
admin@R1# set protocols ospf network 1.1.1.1/32 area 0.0.0.0

...

Step 1: Configure VLAN ID, L3 VLAN interfaces loopback interfaces and IP addresses.

...

Interface ge-1/1/10 connects to PC2.

Code Block
root@R2# set evpn vrf vrf1 vni 100 prefix-routes-only
root@R2# set interface gigabit-ethernet ge-1/1/1 family ethernet-switching native-vlan-id 4094
root@R2# set interface gigabit-ethernet ge-1/1/310 family ethernet-switching native-vlan-id 30
root@R2# set l3-interface loopback lo address 2.2.2.2 prefix-length 32
root@R2# set l3-interface loopback vrf1 address 134.134.134.134 prefix-length 32
root@R2# set l3-interface vlan-interface vlan1111 vrf "vrf1"
root@R2# set l3-interface vlan-interface vlan1111 router-mac 00:14:14:14:14:14
root@R2# set l3-interface vlan-interface vlan1111 mtu 1450
root@R2# set l3-interface vlan-interface vlan30 vrf "vrf1"
root@R2# set l3-interface vlan-interface vlan30 mtu 1450
root@R2# set l3-interface vlan-interface vlan30 address 30.1.1.134 prefix-length 24
root@R2# set l3-interface vlan-interface vlan4094 mtu 1450
root@R2# set l3-interface vlan-interface vlan4094 address 40.94.0.1 prefix-length 24
root@R2# set vlans vlan-id 10 l3-interface "vlan10"
root@R2# set vlans vlan-id 30 l3-interface "vlan30"

...

Code Block
root@R2# set protocols bgp local-as 65001
root@R2# set protocols bgp router-id 2.2.2.2
root@R2# set protocols bgp neighbor 1.1.1.1 remote-as "internal"
root@R2# set protocols bgp neighbor 1.1.1.1 update-source "2.2.2.2"
root@R2# set protocols bgp neighbor 1.1.1.1 evpn activate
root@R2# set protocols bgp evpn advertise-all-vni
root@R2# set protocols bgp evpn advertise ipv4-unicast
root@R2# set protocols bgp evpn neighbor 1.1.1.1 activate
root@R2# set protocols bgp vrf vrf1 local-as 65001
root@R2# set protocols bgp vrf vrf1 router-id 2.2.2.2
root@R2# set protocols bgp vrf vrf1
ipv4-unicast network 30.1.1.0/24
root@R2# set protocols bgp vrf vrf1 evpn advertise ipv4-unicast
root@R2# set protocols ospf router-id 2.2.2.2
root@R2# set protocols ospf network 40.94.0.0/24 area 0.0.0.0
root@R2# set protocols ospf network 2.2.2.2/32 area 0.0.0.0

...

Code Block
admin@R2# run show route vrf vrf1
show ip route vrf vrf1
=======================
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route


VRF vrf1:
K>* 0.0.0.0/0 [255/8192] unreachable (ICMP unreachable), 00:12:12
C>* 10.1.1.0/24 is directly connected, vlan10, 00:11:23
B>C>* 1130.111.111.1660/32 [200/0] via 1.1.1.1, vlan1111 onlink, weight 1, 00:10:21
C>* 30.1.1.0/24 is 24 is directly connected, vlan30, 00:11:23
C>*
40.0.0.0/24 is directly connected, vlan40, 00:11:23
C>* 134.134.134.134/32 is directly connected, vrf1, 00:12:12
B>* 166.166.166.166/32 [200/0] via 1.1.1.1, vlan1111 onlink, weight 1, 00:10:21



show ipv6 route vrf vrf1

show ipv6 route vrf vrf1
=========================
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route


VRF vrf1:
C * fe80::/64 is directly connected, vlan1111, 00:11:22
C * fe80::/64 is directly connected, vlan30, 00:11:22
C * fe80::/64 is directly connected, vlan10, 00:11:22
C>* fe80::/64 is directly connected, vlan40, 00:11:22

...

Run the command run show vxlan evpn route on either R1 or R2 to check the VXLAN EVPN routes.

Code Block
admin@R2#admin@R1#  run show vxlan evpnarp
route
VRFIP-IDADDRESS    ROUTE   MAC-ADDRESS         VNI NextHop      REMOTE-VTEP  VNI     Interface   Status Interface --------  - Age
---------------  -------------  ----------  -----------------
1         11.11.11.166/32   1.1.1.1        100         vlan1111
1 ---------------  ----------  -------  ----
10.1.1.2         166.166.166.166/32  1.1.1.118:5a:58:3c:42:a1  10        100         vlan1111 2     te-1/1/10   Dynamic  166.166.166.2/32249 
110.1.1.1        20018:5a:58:03:35:81  10       vlan2222

To check the VXLAN tunnels on either devices, run the command run show vxlan tunnel.

Code Block
admin@R2# run show vxlan tunnel
Total number of tunnels: 5

VNI 10, Encap:service-vlan-delete, Decap:service-vlan-add-replace
  src addr:2.2.2.2, dst addr:12.2.2.2                      Static       
30.1.1.1, state:UP       traffic type:unicast
  Vtep type:EVPN
  nexthops:40.94.0 18:5a:58:03:35:81  30      2.2.2.2   output ports:ge-1/1/1      VNI 30, Encap:service-vlan-delete, Decap:service-vlan-add-replace   src addr:2.2.2.2, dst addr:1.1.1.1, state:UP   trafficStatic type:all   Vtep type:EVPN  
nexthops:4030.941.01.2       output ports:ge-1/1/1

VNI 40, Encap:service-vlan-delete, Decap:service-vlan-add-replace
  src addr: 1c:72:1d:c9:1b:e1  30      2.2.2.2, dst addr:1.1.1.1, state:UP
  traffic type:all
  Vtep type:EVPN
  nexthops:40.94.0.2
  output ports:ge-1/1/1

VNI 100                       Static            


To check the VXLAN tunnels on either devices, run the command run show vxlan tunnel.

Code Block
admin@R2# run show vxlan tunnel
Total number of tunnels: 2

VNI 10, Encap:service-vlan-delete, Decap:service-vlan-add-replace
  src addr:2.2.2.2, dst addr:1.1.1.1, state:UP
  traffic type:unicastall
  Vtep type:EVPN
  nexthops:40.94.0.2
  output ports:ge-1/1/1

VNI 20030, Encap:service-vlan-delete, Decap:service-vlan-add-replace
  src addr:2.2.2.2, dst addr:1.1.1.1, state:UP
  traffic type:unicastall
  Vtep type:EVPN
  nexthops:40.94.0.2
  output ports:ge-1/1/1