]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: fix route recursion on leaked routes 15352/head
authorLouis Scalbert <louis.scalbert@6wind.com>
Tue, 26 Apr 2022 14:45:42 +0000 (16:45 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Fri, 9 Feb 2024 17:25:01 +0000 (18:25 +0100)
commit59a544c39b8bae0459f62f7f3189a9ba8067590a
tree4140028175ad0e424c6c617e1a23595f49eee6ba
parent1a348ec050186eedb3267ea4131d06418a754207
bgpd: fix route recursion on leaked routes

Leaked recursive routes are not resolved.

> VRF r1-cust1:
> B>  5.1.0.0/24 [200/98] via 99.0.0.1 (recursive), weight 1, 00:00:08
>  *                       via 192.168.1.2, r1-eth4, weight 1, 00:00:08
> B>* 99.0.0.1/32 [200/0] via 192.168.1.2, r1-eth4, weight 1, 00:00:08

> VRF r1-cust4:
> B   5.1.0.0/24 [20/98] via 99.0.0.1 (vrf r1-cust1) inactive, weight 1, 00:00:08
> B>* 99.0.0.1/32 [20/0] via 192.168.1.2, r1-eth4 (vrf r1-cust1), weight 1, 00:00:08

When announcing the routes to zebra, use the peer of the ultimate bgp
path info instead of the one of the first parent path info to determine
whether the route is recursive.

The result is:
> VRF r1-cust4:
> B>  5.1.0.0/24 [20/98] via 99.0.0.1 (vrf r1-cust1) (recursive), weight 1, 00:00:02
>   *                      via 192.168.1.2, r1-eth4 (vrf r1-cust1), weight 1, 00:00:02
> B>* 99.0.0.1/32 [20/0] via 192.168.1.2, r1-eth4 (vrf r1-cust1), weight 1, 00:00:02

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