Configuration
VxLAN
Enable the VxLAN status
cli set vxlan.status=1
The Virtual Network Identifier (VNI) is the identifier used for this VXLAN connection. You can configure up to 16,777,215 VNIs.
cli set vxlan.0.id=6001
cli set vxlan.0.dport=4789
Configure a local interface address. It serves as a source interface for the local VTEP, but needs to be accessible form the core network.
cli set vxlan.0.local=10.10.2.223
Create the “bridge” from the VxLAN tunnel to the router Ethernet LAN port.
cli set vxlan.0.brdev=lan0
BGP
In order to establish eBGP session the default configuration requires the following parameters.
cli set bgp.status=1
cli set bgp.router.id=10.10.2.223
cli set bgp.as=65000
BGP neighbours, more commonly known as ‘peers’, are other routers that you connect to in order to exchange routing information.
cli set bgp.neighbor.0.addr=10.10.2.2
cli set bgp.neighbor.0.as=65000
cli set bgp.neighbor.0.weight=0
cli set bgp.neighbor.0.multihop=0
cli set bgp.neighbor.0.extended_nexthop=1
L2VPN-EVPN address family is capable of transporting MAC (Layer-2) reachability information. BGP EVPN provides the learnt information to all the devices within the network through a common control plane.
cli set bgp.neighbor.0.address_family=l2vpn-evpn
In order to establish eBGP sessions where the remote peer address is via default route, the command zebra.ip.nht.resolve_via_default is required. Without this command, the next hop cannot be resolved.
cli set zebra.ip.nht.resolve_via_default=1
Debugging
Accessing daemons
From the router shell access the daemon service
telnet 127.0.0.1 bgpd
password: bgp
print all available bgp commands
list
Enable access to the daemon process
echo "password zebra" >> /etc/frr/zebra.conf
/etc/init.d/frr restart
From the router shell access the daemon service
telnet 127.0.0.1 zebra
password: zebra
print all available zebra commands
list
Debug Commands
Command show bgp l2vpn evpn summary will show us the summary of BGP peers.
show bgp l2vpn evpn summary
Example information returned
rf-core-1# sh bgp l2vpn evpn summary
BGP router identifier 10.10.2.223, local AS number 65000 vrf-id 0
BGP table version 0
RIB entries 13, using 2392 bytes of memory
Peers 6, using 123 KiB of memory
Peer groups 1, using 64 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
*10.10.2.2 4 65000 100 172 0 0 0 01:29:21 2
Command show bgp l2vpn evpn route will provide us a list how packets are routed to reach their final destination.
show bgp l2vpn evpn route
Example information returned
BGP table version is 219, local router ID is 10.10.2.223
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
EVPN type-1 prefix: [1]:[ESI]:[EthTag]:[IPlen]:[VTEP-IP]
EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]
Network Next Hop Metric LocPrf Weight Path
Extended Community
Route Distinguisher: 10.10.2.223:2
*> [2]:[0]:[48]:[00:00:00:08:00:6b]
10.10.2.223(MINEX)
32768 i
ET:8 RT:65000:6001
*> [2]:[0]:[48]:[00:60:e9:1a:3d:af]
10.10.2.223(MINEX)
32768 i
ET:8 RT:65000:6001
*> [2]:[0]:[48]:[2e:0d:0e:7e:91:3b]
10.10.2.223(MINEX)
32768 i
ET:8 RT:65000:6001
*> [2]:[0]:[48]:[3c:18:a0:45:a8:9c]
10.10.2.223(MINEX)
32768 i
ET:8 RT:65000:6001
*> [3]:[0]:[32]:[10.10.2.223]
10.10.2.223(MINEX)
32768 i
ET:8 RT:65000:6001
Displayed 5 prefixes (5 paths)