FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.33k stars 1.25k forks source link

frr with evpn (bgp and vxlan): show evpn mac vni shows no info although vni exists #2193

Closed shibumi closed 6 years ago

shibumi commented 6 years ago

Hello, I am currently setting up an evpn like in this blogpost: https://vincent.bernat.im/en/blog/2017-vxlan-bgp-evpn

I have 1 route reflector and 2 peers with VTEPs.

When I invoke show interface vxlan10 one of of my VTEPs this works fine:

Interface vxlan10 is up, line protocol is up
 Link ups:       0    last: (never)
 Link downs:     0    last: (never)
 PTM status: disabled
 vrf: Default-IP-Routing-Table
 index 52 metric 0 mtu 1500 speed 0
 flags: <UP,BROADCAST,RUNNING,MULTICAST>
 Type: Ethernet
 HWaddr: 76:ef:cb:30:36:45
 Interface Type Vxlan
 VxLAN Id 10 VTEP IP: 139.174.16.12 Access VLAN Id 1
 Master (bridge) ifindex 53

When I now try a show evpn mac vni 10 I get no output. When i try to invoke the command:show bgp evpn route I get: % Unknown command.

The bgp sessions are established for all peers and running. My configuration for the route reflector looks like this: /etc/frr/frr.conf


frr version 4.0
frr defaults traditional
hostname cloud-14
no ipv6 forwarding
username cumulus nopassword
!
service integrated-vtysh-config
!
log syslog informational
!
line vty
!
router bgp 65000
  bgp router-id 139.174.16.14
  bgp cluster-id 139.174.16.14
  bgp log-neighbor-changes
  no bgp default ipv4-unicast
  neighbor fabric peer-group
  neighbor fabric remote-as 65000
  neighbor fabric capability extended-nexthop
  neighbor fabric update-source 139.174.16.14
  bgp listen range 139.174.16.0/24 peer-group fabric
  !
  ! With FRR, use: address-family l2vpn evpn
  address-family l2vpn evpn
   neighbor fabric activate
   neighbor fabric route-reflector-client
  exit-address-family
  !
  exit
!

The peers look like this. For example peer: 139.174.16.12:/etc/frr/frr.conf:

frr version 4.0
frr defaults traditional
hostname cloud-12
no ipv6 forwarding
username cumulus nopassword
!
service integrated-vtysh-config
!
log syslog informational
!
line vty
!
router bgp 65000
  bgp router-id 139.174.16.12
  no bgp default ipv4-unicast
  neighbor fabric peer-group
  neighbor fabric remote-as 65000
  neighbor fabric capability extended-nexthop
  ! BGP sessions with route reflectors
  neighbor 139.174.16.14 peer-group fabric
  !
  ! With FRR, use: address-family l2vpn evpn
  address-family l2vpn evpn
   neighbor fabric activate
   advertise-all-vni
  exit-address-family
  !
  exit
!

I haven't touched the /etc/daemons.conf file. So it still look like this:

#
# If this option is set the /etc/init.d/frr script automatically loads
# the config via "vtysh -b" when the servers are started.
# Check /etc/pam.d/frr if you intend to use "vtysh"!
#
vtysh_enable=yes
zebra_options="  -s 90000000 --daemon -A 127.0.0.1"
bgpd_options="   --daemon -A 127.0.0.1"
ospfd_options="  --daemon -A 127.0.0.1"
ospf6d_options=" --daemon -A ::1"
ripd_options="   --daemon -A 127.0.0.1"
ripngd_options=" --daemon -A ::1"
isisd_options="  --daemon -A 127.0.0.1"
pimd_options="  --daemon -A 127.0.0.1"
ldpd_options="  --daemon -A 127.0.0.1"
nhrpd_options="  --daemon -A 127.0.0.1"
eigrpd_options="  --daemon -A 127.0.0.1"
babeld_options="  --daemon -A 127.0.0.1"
sharpd_options="  --daemon -A 127.0.0.1"

# The list of daemons to watch is automatically generated by the init script.
watchfrr_enable=yes
watchfrr_options=(-d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB)  

# If valgrind_enable is 'yes' the frr daemons will be started via valgrind.
# The use case for doing so is tracking down memory leaks, etc in frr.
valgrind_enable=no
valgrind=/usr/bin/valgrind

and in my /etc/daemons file I have enabled zebra and bgpd on peers and route reflector as well.

qlyoung commented 6 years ago

@shibumi - for show bgp evpn route you'll want to be in the top-level CLI node:

vagrant@frrdev ~> sudo vtysh

Hello, this is FRRouting (version 5.1-dev).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

frrdev# find show bgp evpn route
  (view)  show bgp evpn route [type <macip|multicast>]
  (view)  show bgp evpn route rd ASN:NN_OR_IP-ADDRESS:NN [type <macip|multicast>]
  (view)  show bgp evpn route rd ASN:NN_OR_IP-ADDRESS:NN mac WORD [ip WORD]
  (view)  show bgp evpn route vni (1-16777215) [<type <macip|multicast> | vtep A.B.C.D>]
  (view)  show bgp evpn route vni (1-16777215) mac WORD [ip WORD]
  (view)  show bgp evpn route vni (1-16777215) multicast A.B.C.D
  (view)  show bgp evpn route vni all [vtep A.B.C.D]
  (enable)  show bgp evpn route [type <macip|multicast>]
  (enable)  show bgp evpn route rd ASN:NN_OR_IP-ADDRESS:NN [type <macip|multicast>]
  (enable)  show bgp evpn route rd ASN:NN_OR_IP-ADDRESS:NN mac WORD [ip WORD]
  (enable)  show bgp evpn route vni (1-16777215) [<type <macip|multicast> | vtep A.B.C.D>]
  (enable)  show bgp evpn route vni (1-16777215) mac WORD [ip WORD]
  (enable)  show bgp evpn route vni (1-16777215) multicast A.B.C.D
  (enable)  show bgp evpn route vni all [vtep A.B.C.D]
shibumi commented 6 years ago

@qlyoung thanks for your answer. but problem is solved ;) The route cause was that I didn't compile frr with enable-cumulus.. There seem to be a bug in the build scripts.