Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bgpd: backpressure - fix to properly remove dest for bgp under deletion (backport #16368) #16404

Merged
merged 2 commits into from
Jul 17, 2024

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Jul 16, 2024

Author: Rajasekar Raja [email protected]
Date: Wed Jul 10 20:17:14 2024 -0700

bgpd: backpressure - Improve debuggability

Improve debuggability in backpressure code.

Ticket :#3980988

Signed-off-by: Rajasekar Raja <[email protected]>

Author: Rajasekar Raja [email protected]
Date: Wed Jul 10 16:46:29 2024 -0700

bgpd: backpressure - fix to properly remove dest for bgp under deletion

In case of imported routes (L3vni/vrf leaks), when a bgp instance is
being deleted, the peer->bgp comparision with the incoming bgp to remove
the dest from the pending fifo is wrong. This can lead to the fifo
having stale entries resulting in crash.

Two changes are done here.
 - Instead of pop/push items in list if the struct bgp doesnt match,
   simply iterate the list and remove the expected ones.

 - Corrected the way bgp is fetched from dest rather than relying on
   path_info->peer so that it works for all kinds of routes.

Ticket :#3980988

Signed-off-by: Chirag Shah <chirag @nvidia.com>
Signed-off-by: Rajasekar Raja <[email protected]><hr>This is an automatic backport of pull request #16368 done by [Mergify](https://mergify.com).

In case of imported routes (L3vni/vrf leaks), when a bgp instance is
being deleted, the peer->bgp comparision with the incoming bgp to remove
the dest from the pending fifo is wrong. This can lead to the fifo
having stale entries resulting in crash.

Two changes are done here.
 - Instead of pop/push items in list if the struct bgp doesnt match,
   simply iterate the list and remove the expected ones.

 - Corrected the way bgp is fetched from dest rather than relying on
   path_info->peer so that it works for all kinds of routes.

Ticket :#3980988

Signed-off-by: Chirag Shah <chirag @nvidia.com>
Signed-off-by: Rajasekar Raja <[email protected]>
(cherry picked from commit 4395fcd)
Improve debuggability in backpressure code.

Ticket :#3980988

Signed-off-by: Rajasekar Raja <[email protected]>
(cherry picked from commit 186db96)
@ton31337 ton31337 merged commit 2a06d1c into dev/10.1 Jul 17, 2024
16 checks passed
@ton31337 ton31337 deleted the mergify/bp/dev/10.1/pr-16368 branch July 17, 2024 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants