Arista – VXLAN/EVPN BGP Unnumbered

Another Arista VXLAN/EVPN lab but for this we will use eBGP Unnumbered for the underlay rather than OSPF. BGP Unnumbered uses IPv6 link local addresses for IPv4 next hops and is detailed in RFC5549.

https://datatracker.ietf.org/doc/html/rfc5549

Spine1

hostname spine1
    
interface Ethernet1
no switchport
ipv6 enable
    
interface Ethernet2
no switchport
ipv6 enable

interface Ethernet3
no switchport
ipv6 enable

interface Loopback0
ip address 5.5.5.5/32

ip routing

ipv6 unicast-routing

router bgp 65400
router-id 5.5.5.5
no bgp default ipv4-unicast
neighbor LEAF peer group
neighbor LEAF local-as 65401 no-prepend replace-as
neighbor LEAF_OL peer group
neighbor LEAF_OL remote-as 65400
neighbor LEAF_OL update-source Loopback0
neighbor LEAF_OL route-reflector-client
neighbor LEAF_OL send-community extended
neighbor 7.7.7.7 peer group LEAF_OL
neighbor 8.8.8.8 peer group LEAF_OL
neighbor 9.9.9.9 peer group LEAF_OL
redistribute connected
neighbor interface Et1 peer-group LEAF remote-as 65403
neighbor interface Et2 peer-group LEAF remote-as 65404
neighbor interface Et3 peer-group LEAF remote-as 65405

address-family evpn
neighbor LEAF_OL activate

address-family ipv4
neighbor LEAF activate
neighbor LEAF next-hop address-family ipv6 originate

Spine2

hostname spine2

interface Ethernet1
switchport
ipv6 enable

interface Ethernet2
no switchport
ipv6 enable

interface Ethernet3
no switchport
ipv6 enable

interface Loopback0
ip address 6.6.6.6/32

ip routing

ipv6 unicast-routing
  
router bgp 65400
router-id 6.6.6.6
no bgp default ipv4-unicast
neighbor LEAF peer group
neighbor LEAF local-as 65402 no-prepend replace-as
neighbor LEAF_OL peer group
neighbor LEAF_OL remote-as 65400
neighbor LEAF_OL update-source Loopback0
neighbor LEAF_OL route-reflector-client
neighbor LEAF_OL send-community extended
neighbor 7.7.7.7 peer group LEAF_OL
neighbor 8.8.8.8 peer group LEAF_OL
neighbor 9.9.9.9 peer group LEAF_OL
redistribute connected
neighbor interface Et1 peer-group LEAF remote-as 65403
neighbor interface Et2 peer-group LEAF remote-as 65404
neighbor interface Et3 peer-group LEAF remote-as 65405

address-family evpn
neighbor LEAF_OL activate

address-family ipv4
neighbor LEAF activate
neighbor LEAF next-hop address-family ipv6 originate

Leaf1

hostname leaf1

vlan 1234
  
interface Ethernet1
no switchport
ipv6 enable
  
interface Ethernet2
no switchport
ipv6 enable
  
interface Ethernet3
switchport access vlan 1234
 
interface Loopback0
ip address 7.7.7.7/32

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234
    
ip routing
    
ipv6 unicast-routing

router bgp 65400
router-id 7.7.7.7
no bgp default ipv4-unicast
neighbor SPINE peer group
neighbor SPINE local-as 65403 no-prepend replace-as
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended
redistribute connected
neighbor interface Et1 peer-group SPINE remote-as 65401
neighbor interface Et2 peer-group SPINE remote-as 65402
!
vlan 1234
rd 8.8.8.8:1234
route-target both 65400:1234
redistribute learned
!
address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate
!
address-family ipv4
neighbor SPINE activate
neighbor SPINE next-hop address-family ipv6 originate
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate

Leaf2

hostname leaf2

vlan 1234,2468

interface Ethernet1
no switchport
ipv6 enable

interface Ethernet2
no switchport
ipv6 enable

interface Ethernet3
switchport access vlan 1234

interface Ethernet4
switchport access vlan 2468

interface Loopback0
ip address 8.8.8.8/32
 
interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234
vxlan vlan 2468 vni 2468

ip routing

ipv6 unicast-routing

router bgp 65400
router-id 8.8.8.8
no bgp default ipv4-unicast
neighbor SPINE peer group
neighbor SPINE local-as 65404 no-prepend replace-as
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended
redistribute connected
neighbor interface Et1 peer-group SPINE remote-as 65401
neighbor interface Et2 peer-group SPINE remote-as 65402
    
vlan 1234
rd 8.8.8.8:1234
route-target both 65400:1234
redistribute learned

vlan 2468
rd 8.8.8.8:2468
route-target both 65400:2468
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
neighbor SPINE activate
neighbor SPINE next-hop address-family ipv6 originate
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate

Leaf3

hostname leaf3

vlan 2468

interface Ethernet1
no switchport
ipv6 enable

interface Ethernet2
no switchport
ipv6 enable

interface Ethernet4
switchport access vlan 2468

interface Loopback0
ip address 9.9.9.9/32

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 2468 vni 2468

ip routing

ipv6 unicast-routing

router bgp 65400
router-id 9.9.9.9
no bgp default ipv4-unicast
neighbor SPINE peer group
neighbor SPINE local-as 65405 no-prepend replace-as
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended
redistribute connected
neighbor interface Et1 peer-group SPINE remote-as 65401
neighbor interface Et2 peer-group SPINE remote-as 65402

vlan 2468
rd 8.8.8.8:2468
route-target both 65400:2468
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
neighbor SPINE activate
neighbor SPINE next-hop address-family ipv6 originate
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate

VPCs 6 & 8 have been configured with IP addresses in the range 10.1.1.0/24 & VPCs 7 & 9 have addresses with the range 10.2.2.0/24. Both are able to ping their relevant counterpart in the same subnet. Also, BGP shows the relevant routes/MAC addresses have been learnt.

Aruba VXLAN/EVPN

Another VXLAN/EVPN lab but this time from Aruba. Usual spine/leaf topology and OSPF used as underlay because IS-IS is not supported by the CX image.

Spine1

conf t
hostname spine1

interface 1/1/1
no shutdown
ip address 1.1.1.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 2.2.2.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
ip address 3.3.3.1/30
ip ospf 1 area 0.0.0.0

interface loopback 0
ip address 5.5.5.5/32
ip ospf 1 area 0.0.0.0

router ospf 1
router-id 5.5.5.5
area 0.0.0.0

router bgp 65400
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source loopback 0
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source loopback 0
neighbor 9.9.9.9 remote-as 65400
neighbor 9.9.9.9 update-source loopback 0
address-family l2vpn evpn
neighbor 7.7.7.7 route-reflector-client
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 activate
neighbor 8.8.8.8 route-reflector-client
neighbor 8.8.8.8 send-community extended
neighbor 8.8.8.8 activate
neighbor 9.9.9.9 route-reflector-client
neighbor 9.9.9.9 send-community extended
neighbor 9.9.9.9 activate
exit-address-family

Spine2

conf t
hostname spine2

interface 1/1/1
no shutdown
ip address 11.11.11.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 12.12.12.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
ip address 13.13.13.1/30
ip ospf 1 area 0.0.0.0
 
interface loopback 0
ip address 6.6.6.6/32
ip ospf 1 area 0.0.0.0

router ospf 1
router-id 6.6.6.6
area 0.0.0.0

router bgp 65400
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source loopback 0
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source loopback 0
neighbor 9.9.9.9 remote-as 65400
neighbor 9.9.9.9 update-source loopback 0
address-family l2vpn evpn
neighbor 7.7.7.7 route-reflector-client
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 activate
neighbor 8.8.8.8 route-reflector-client
neighbor 8.8.8.8 send-community extended
neighbor 8.8.8.8 activate
neighbor 9.9.9.9 route-reflector-client
neighbor 9.9.9.9 send-community extended
neighbor 9.9.9.9 activate
exit-address-family

Leaf1

conf t
hostname leaf1

vlan  77
evpn
vlan 77
rd 7.7.7.7:1
route-target export 65400:1
route-target import 65400:1

interface 1/1/1
no shutdown
ip address 1.1.1.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 11.11.11.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
no routing
vlan access 77

interface loopback 0
ip address 7.7.7.7/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 7.7.7.7
no shutdown
vni 77
vlan 77

router ospf 1
router-id 7.7.7.7
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

Leaf2

conf t
hostname leaf2

vlan 144
evpn
vlan 144
rd 8.8.8.8:1
route-target export 65400:2
route-target import 65400:2

interface 1/1/1
no shutdown
ip address 2.2.2.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 12.12.12.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/4
no shutdown
no routing
vlan access 144

interface loopback 0
ip address 8.8.8.8/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 8.8.8.8
no shutdown
vni 144
vlan 144

router ospf 1
router-id 8.8.8.8
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

Leaf3

hostname leaf3

vlan 77,144
evpn
vlan 77
rd 9.9.9.9:1
route-target export 65400:1
route-target import 65400:1
vlan 144
rd 9.9.9.9:2
route-target export 65400:2
route-target import 65400:2

interface 1/1/1
no shutdown
ip address 3.3.3.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 13.13.13.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
no routing
vlan access 77

interface 1/1/4
no shutdown
no routing
vlan access 144

interface loopback 0
ip address 9.9.9.9/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 9.9.9.9
no shutdown
vni 77
vlan 77
vni 144
vlan 144

router ospf 1
router-id 9.9.9.9
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

vPC6 & vPC8 are in VLAN 77. vPC7 & vPC9 are in VLAN 144. Apply IP addresses from the same subnet on each device in each VLAN and happy days!

Arista VXLAN/EVPN

Spine/leaf topology with OSPF underlay and Spines acting as Route Reflectors

https://www.arista.com/en/um-eos/eos-vxlan-configuration

EVE-NG Import file

Spine1

conf t

interface Ethernet1
no switchport
ip address 1.1.1.1/30
ip ospf area 0.0.0.0

interface Ethernet2
no switchport
ip address 2.2.2.1/30
ip ospf area 0.0.0.0
  
interface Ethernet3
no switchport
ip address 3.3.3.1/30
ip ospf area 0.0.0.0

interface Loopback0
ip address 5.5.5.5/32
ip ospf area 0.0.0.0

ip routing

router bgp 65400
neighbor SPINE peer group
neighbor SPINE remote-as 65400
neighbor SPINE update-source Loopback0
neighbor SPINE route-reflector-client
neighbor SPINE send-community extended
neighbor 7.7.7.7 peer group SPINE
neighbor 8.8.8.8 peer group SPINE
neighbor 9.9.9.9 peer group SPINE

address-family evpn
neighbor SPINE activate

router ospf 1
router-id 5.5.5.5

Spine2

conf t
interface Ethernet1
no switchport
ip address 11.11.11.1/30
ip ospf area 0.0.0.0
 
interface Ethernet2
no switchport
ip address 12.12.12.1/30
ip ospf area 0.0.0.0
  
interface Ethernet3
no switchport
ip address 13.13.13.1/30
ip ospf area 0.0.0.0

interface Loopback0
ip address 6.6.6.6/32
ip ospf area 0.0.0.0

ip routing

router bgp 65400
neighbor SPINE peer group
neighbor SPINE remote-as 65400
neighbor SPINE update-source Loopback0
neighbor SPINE route-reflector-client
neighbor SPINE send-community extended
neighbor 7.7.7.7 peer group SPINE
neighbor 8.8.8.8 peer group SPINE
neighbor 9.9.9.9 peer group SPINE

address-family evpn
neighbor SPINE activate

router ospf 1
router-id 6.6.6.6

Leaf1

conf t
vlan 1234

interface Ethernet1
no switchport
ip address 1.1.1.2/30
ip ospf area 0.0.0.0

interface Ethernet2
no switchport
ip address 11.11.11.2/30
ip ospf area 0.0.0.0
  
interface Ethernet3
switchport access vlan 1234

interface Loopback0
ip address 7.7.7.7/32
ip ospf area 0.0.0.0

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234

ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended

vlan 1234
rd 7.7.7.7:1
route-target both 65400:1
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate
    
router ospf 1
router-id 7.7.7.7

Leaf2

conf t
vlan 1234,2468

interface Ethernet1
no switchport
ip address 2.2.2.2/30
ip ospf area 0.0.0.0
    
interface Ethernet2
no switchport
ip address 12.12.12.2/30
ip ospf area 0.0.0.0
    
interface Ethernet3
switchport access vlan 1234
   
interface Ethernet4
switchport access vlan 2468
    
interface Loopback0
ip address 8.8.8.8/32
ip ospf area 0.0.0.0

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234
vxlan vlan 2468 vni 2468
 
ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended
  
vlan 1234
rd 8.8.8.8:1
route-target both 65400:1
redistribute learned
    
vlan 2468
rd 8.8.8.8:2
route-target both 65400:2
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate

router ospf 1
router-id 8.8.8.8

Leaf3

conf t
vlan 2468
    
interface Ethernet1
no switchport
ip address 3.3.3.2/30
ip ospf area 0.0.0.0
    
interface Ethernet2
no switchport
ip address 13.13.13.2/30
ip ospf area 0.0.0.0

interface Ethernet4
switchport access vlan 2468
    
interface Loopback0
ip address 9.9.9.9/32
ip ospf area 0.0.0.0
  
interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 2468 vni 2468
   
ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended

vlan 2468
rd 8.8.8.8:2
route-target both 65400:2
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate
    
router ospf 1
router-id 9.9.9.9

Confirm the BGP sessions have been established by running ‘show bgp evpn summary‘. Below output from leaf2.

vPC6 & vPC8 are in VLAN 1234. vPC7 & vPC9 are in VLAN 2468. Configure IP addresses from the same subnet to each vPC in each VLAN and you should have IP connectivity like below.