-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
None
-
None
EVPN configuration for FRR is incomplete which is blocking route advertisement.
Deployed RHOSO with 1 compute node + DVR enabled and 1 provider network.
Problem:
I see that ovn-bgp-agent detects the creation of provider network and updated the FRR configuration once I feed VNI ID to OVN NB DB. But EVPN routes are not seen at all, so it can't advertise.
compute-0# sh bgp l2vpn evpn No prefixes displayed, 0 exist
This is the FRR running config after the reconfiguration ovn-bgp-agent, note that "address-family l2vpn evpn" is inside VRF block.
compute-0# sh running-config
Building configuration...
Current configuration:
!
frr version 8.5.3
frr defaults traditional
hostname compute-0
log stdout informational
log timestamp precision 3
!
vrf vrf-1001
vni 1001
exit-vrf
!
router bgp 64999
bgp router-id 192.168.122.100
bgp log-neighbor-changes
no bgp ebgp-requires-policy
no bgp suppress-duplicates
no bgp hard-administrative-reset
no bgp default ipv4-unicast
bgp graceful-shutdown
no bgp graceful-restart notification
no bgp network import-check
neighbor uplink peer-group
neighbor uplink remote-as internal
neighbor uplink password f00barZ
neighbor uplink ttl-security hops 1
neighbor 12.12.12.2 peer-group uplink
!
address-family ipv4 unicast
redistribute connected
neighbor uplink activate
neighbor uplink allowas-in origin
neighbor uplink prefix-list only-host-prefixes out
exit-address-family
!
address-family ipv6 unicast
redistribute connected
neighbor uplink activate
neighbor uplink allowas-in origin
neighbor uplink prefix-list only-host-prefixes out
exit-address-family
exit
!
router bgp 64999 vrf vrf-1001
no bgp ebgp-requires-policy
no bgp suppress-duplicates
no bgp hard-administrative-reset
no bgp graceful-restart notification
no bgp network import-check
!
address-family ipv4 unicast
redistribute kernel
redistribute connected
exit-address-family
!
address-family ipv6 unicast
redistribute kernel
redistribute connected
exit-address-family
!
address-family l2vpn evpn
advertise ipv4 unicast
advertise ipv6 unicast
rd 12.12.12.1:1001
exit-address-family
exit
!
ip prefix-list only-default seq 5 permit 0.0.0.0/0
ip prefix-list only-host-prefixes seq 5 permit 0.0.0.0/0 ge 32
!
ipv6 prefix-list only-default seq 5 permit ::/0
ipv6 prefix-list only-host-prefixes seq 5 permit ::/0 ge 128
!
route-map rm-only-default permit 10
match ip address prefix-list only-default
set src 192.168.122.100
exit
!
route-map rm-only-default permit 11
match ipv6 address prefix-list only-default
set src 192.168.122.100
exit
!
ip nht resolve-via-default
!
ip protocol bgp route-map rm-only-default
!
ipv6 protocol bgp route-map rm-only-default
!
end
Solution to the problem:
compute-0# config compute-0(config)# router bgp 64999 compute-0(config-router)# address-family l2vpn evpn compute-0(config-router-af)# neighbor 12.12.12.2 activate compute-0(config-router-af)# advertise-all-vni compute-0(config-router-af)# advertise ipv4 unicast compute-0(config-router-af)# exit-address-family
With this configuration, EVPN routes are being advertised and received.
compute-0# sh bgp l2vpn evpn
BGP table version is 5, local router ID is 192.168.122.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
EVPN type-1 prefix: [1]:[EthTag]:[ESI]:[IPlen]:[VTEP-IP]:[Frag-id]
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
Route Distinguisher: 12.12.12.1:1001
*> [5]:[0]:[0]:[0.0.0.0]
12.12.12.1 0 32768 ?
ET:8 RT:64999:1001 Rmac:fa:16:a0:29:e2:8a
*> [5]:[0]:[32]:[172.16.101.1]
12.12.12.1 0 32768 ?
ET:8 RT:64999:1001 Rmac:fa:16:a0:29:e2:8a
*> [5]:[0]:[32]:[172.16.101.125]
12.12.12.1 0 32768 ?
ET:8 RT:64999:1001 Rmac:fa:16:a0:29:e2:8a
*> [5]:[0]:[32]:[172.16.101.229]
12.12.12.1 0 32768 ?
ET:8 RT:64999:1001 Rmac:fa:16:a0:29:e2:8a
*> [5]:[0]:[128]:[fd53:d91e:400:7f17::]
12.12.12.1 0 32768 ?
ET:8 RT:64999:1001 Rmac:fa:16:a0:29:e2:8a
Route Distinguisher: 12.12.12.2:1001
*>i[5]:[0]:[24]:[42.42.42.0]
12.12.12.2 0 0 0 ?
RT:64999:1001 ET:8 Rmac:72:4d:29:6e:6a:d8
Now with this configuration in place, ping between VM attached to provider network can ping the external IP via EVPN.