]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: fix prefix VRF leaking with 'network import-check' (5/5)
authorLouis Scalbert <louis.scalbert@6wind.com>
Thu, 5 May 2022 16:06:24 +0000 (18:06 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Fri, 16 Dec 2022 13:52:47 +0000 (14:52 +0100)
commitacf31ef73b4a73dad5723105cdde0d589f2a1d4a
tree618f018429763d7522a98affe79b94fbd2e87f4d
parent1e24860bf7042a96bc0f22df60f73e7aa04f31f6
bgpd: fix prefix VRF leaking with 'network import-check' (5/5)

The following configuration creates an infinite routing leaking loop
because 'rt vpn both' parameters are the same in both VRFs.

> router bgp 5227 vrf r1-cust4
>    no bgp network import-check
>    bgp router-id 192.168.1.1
>    address-family ipv4 unicast
>      network 28.0.0.0/24
>      rd vpn export 10:12
>      rt vpn both 52:100
>      import vpn
>      export vpn
>    exit-address-family
> !
> router bgp 5227 vrf r1-cust5
>    no bgp network import-check
>    bgp router id 192.168.1.1
>    address-family ipv4 unicast
>      network 29.0.0.0/24
>      rd vpn export 10:13
>      rt vpn both 52:100
>      import vpn
>      export vpn
>    exit-address-family

The previous commit has added a routing leak update when a nexthop
update is received from zebra. It indirectly calls
bgp_find_or_add_nexthop() in which a static route triggers a nexthop
cache entry registration that triggers a nexthop update from zebra.

Do not register again the nexthop cache entry if the BGP_STATIC_ROUTE is
already set.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
bgpd/bgp_nht.c