diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2023-08-11 09:53:42 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2023-08-11 10:11:10 -0400 |
| commit | 1e8ac95bfb757b85d02514dd0f708974cdc22899 (patch) | |
| tree | 70bb000542680a8a0b0ccff01c723b92f333f62e | |
| parent | 8ceb26240126dca3be65162b0c8aa9bad28a65f6 (diff) | |
bgpd: evpn code was not properly unlocking rd_dest
Found some code where bgp was not unlocking the dest
and rd_dest when walking the tree attempting to
find something to install.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | bgpd/bgp_evpn.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 35f2438929..3442eee1e1 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -3757,8 +3757,11 @@ static int install_uninstall_routes_for_vrf(struct bgp *bgp_vrf, int install) pi = pi->next) { ret = bgp_evpn_route_entry_install_if_vrf_match( bgp_vrf, pi, install); - if (ret) + if (ret) { + bgp_dest_unlock_node(rd_dest); + bgp_dest_unlock_node(dest); return ret; + } } } } |
