FRRouting / frr

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

[EVPN] Static ARP entries not being advertised #2676

Closed felartu closed 3 years ago

felartu commented 6 years ago

EVPN should advertise dynamic and static ARP entries for MAC Mobility sticky. Currently manually added ARP entries to the corresponding bridge are not being shown under the ARP cache of the VNI and not advertised in the EVPN network.

Example log:

l1# show evpn vni
VNI        Type VxLAN IF              # MACs   # ARPs   # Remote VTEPs  Tenant VRF                           
10200      L2   vxlan200              8        12       3               vrf1                                 
10100      L2   vxlan100              8        11       3               vrf1                                 
104001     L3   vxlan4001             3        3        n/a             vrf1                                 
l1# 
l1# show evpn arp vni 10100
Number of ARPs (local and remote) known for this VNI: 11
IP                      Type   MAC               Remote VTEP          
50.1.1.12               local  00:02:00:00:00:02
50.1.1.22               remote 00:02:00:00:00:06 110.0.0.2            
50.1.1.1                local  00:02:00:00:00:13
50.1.1.31               remote 00:02:00:00:00:09 110.0.0.3            
fe80::200:5eff:fe00:101 local  00:00:5e:00:01:01
50.1.1.42               remote 00:02:00:00:00:0e 110.0.0.4            
50.1.1.161              local  00:02:10:44:22:16
50.1.1.32               remote 00:02:00:00:00:0a 110.0.0.3            
50.1.1.41               remote 00:02:00:00:00:0d 110.0.0.4            
50.1.1.250              local  00:00:5e:00:01:01
fe80::202:ff:fe00:13    local  00:02:00:00:00:13
l1# 
l1# exit
root@l1:/var/support# 
root@l1:/var/support# ip -4 neigh | grep vlan100
50.1.1.22 dev vlan100 lladdr 00:02:00:00:00:06 offload NOARP
50.1.1.41 dev vlan100 lladdr 00:02:00:00:00:0d offload NOARP
50.1.1.12 dev vlan100-v0 lladdr 00:02:00:00:00:02 STALE
50.1.1.12 dev vlan100 lladdr 00:02:00:00:00:02 REACHABLE
50.1.1.31 dev vlan100 lladdr 00:02:00:00:00:09 offload NOARP
50.1.1.67 dev vlan100  FAILED
50.1.1.161 dev vlan100 lladdr 00:02:10:44:22:16 REACHABLE
50.1.1.42 dev vlan100 lladdr 00:02:00:00:00:0e offload NOARP
50.1.1.32 dev vlan100 lladdr 00:02:00:00:00:0a offload NOARP
root@l1:/var/support# ip neigh add 50.1.1.127 dev vlan100 lladdr 00:02:44:12:16:04 nud permanent
root@l1:/var/support# 
root@l1:/var/support# vtysh

Hello, this is FRRouting (version 4.0+cl3u3).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

l1# show evpn arp vni 10100
Number of ARPs (local and remote) known for this VNI: 11
IP                      Type   MAC               Remote VTEP          
50.1.1.12               local  00:02:00:00:00:02
50.1.1.22               remote 00:02:00:00:00:06 110.0.0.2            
50.1.1.1                local  00:02:00:00:00:13
50.1.1.31               remote 00:02:00:00:00:09 110.0.0.3            
fe80::200:5eff:fe00:101 local  00:00:5e:00:01:01
50.1.1.42               remote 00:02:00:00:00:0e 110.0.0.4            
50.1.1.161              local  00:02:10:44:22:16
50.1.1.32               remote 00:02:00:00:00:0a 110.0.0.3            
50.1.1.41               remote 00:02:00:00:00:0d 110.0.0.4            
50.1.1.250              local  00:00:5e:00:01:01
fe80::202:ff:fe00:13    local  00:02:00:00:00:13
l1# 
felartu commented 5 years ago

Hi, is there any plan to implement this?

taspelund commented 3 years ago

nud_permanent neigh entries are recognized by zebra today (not sure if that was the case in 2018 when this ticket was filed) + get advertised by bgp as type-2 routes as long as the zebra neigh is marked "active" (the mac address is considered local in the fdb).

I'm not entirely sure what was meant by "EVPN should advertise dynamic and static ARP entries for MAC Mobility sticky". If you add the static + sticky flags to the fdb, then the mac-only type-2 route is advertised with the sticky-mac extended community (and a MAC+IP route is inherently bound to the matching mac's location, so sticky-mac doesn't need to be set on the mac+ip type-2 route).

Unless I'm missing something here, I think this can be closed.