mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 22:50:14 +00:00
bgpd: don't unlock bgp_dest twice
Both install_evpn_route_entry_in_vni_mac() and install_evpn_route_entry_in_vni_ip() will unlock the bgp_dest when install_evpn_route_entry_in_vni_common() returns, so there's no need to unlock the bgp_dest inside the _common function. Let's let the new wrappers handle the cleanup of the dest. Ticket: #3119673 Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
This commit is contained in:
parent
15919b8915
commit
b5118501ac
@ -2906,11 +2906,15 @@ static int install_evpn_route_entry_in_vni_common(
|
||||
|
||||
new_local_es = bgp_evpn_attr_is_local_es(pi->attr);
|
||||
} else {
|
||||
if (attrhash_cmp(pi->attr, parent_pi->attr)
|
||||
&& !CHECK_FLAG(pi->flags, BGP_PATH_REMOVED)) {
|
||||
bgp_dest_unlock_node(dest);
|
||||
/* Return early if attributes haven't changed
|
||||
* and dest isn't flagged for removal.
|
||||
* dest will be unlocked by either
|
||||
* install_evpn_route_entry_in_vni_mac() or
|
||||
* install_evpn_route_entry_in_vni_ip()
|
||||
*/
|
||||
if (attrhash_cmp(pi->attr, parent_pi->attr) &&
|
||||
!CHECK_FLAG(pi->flags, BGP_PATH_REMOVED))
|
||||
return 0;
|
||||
}
|
||||
/* The attribute has changed. */
|
||||
/* Add (or update) attribute to hash. */
|
||||
attr_new = bgp_attr_intern(parent_pi->attr);
|
||||
|
Loading…
Reference in New Issue
Block a user