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 pop items off zebra_announce FIFO for few EVPN triggers #17432

Merged

Conversation

raja-rajasekar
Copy link
Contributor

In cases such as 'no advertise-all-vni' and L2 VNI DELETE, we need to pop all the VPN routes present in the bgp_zebra_announce FIFO yet to be processed regardless of VNI is configured or not.

NOTE: NO need to pop the VPN routes in two cases

  1. In free_vni_entry
  • Called by bgp_free()->bgp_evpn_cleanup().
  • Since bgp_delete is called before bgp_free and we pop all the dest pertaining to bgp under delete. 2) evpn_delete_vni() when user configures "no vni" since the withdraw of all routes happen in normal cycle.

Fixes: a07df6f
("bgpd : backpressure - Handle BGP-Zebra(EPVN) Install evt Creation")

Ticket :#4163611

@raja-rajasekar
Copy link
Contributor Author

raja-rajasekar commented Nov 14, 2024

This needs to be backported to previous releases as well.. Fixes: a07df6f
("bgpd : backpressure - Handle BGP-Zebra(EPVN) Install evt Creation")

bgpd/bgp_evpn.c Outdated
struct bgp_dest *dest = NULL;
struct bgp_dest *dest_next = NULL;

if (!vpn)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In what case can this be NULL? Because cleanup_vni_on_disable() is calling this function with a non-NULL argument which is already dereferenced.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a mistake ... removed it now

…w EVPN triggers

In cases such as 'no advertise-all-vni' and L2 VNI DELETE, we need to
pop all the VPN routes present in the bgp_zebra_announce FIFO yet to
be processed regardless of VNI is configured or not.

NOTE: NO need to pop the VPN routes in two cases
 1) In free_vni_entry
   - Called by bgp_free()->bgp_evpn_cleanup().
   - Since bgp_delete is called before bgp_free and we pop all the dest
     pertaining to bgp under delete.
 2) evpn_delete_vni() when user configures "no vni" since the withdraw
    of all routes happen in normal cycle.

Fixes: a07df6f
("bgpd : backpressure - Handle BGP-Zebra(EPVN) Install evt Creation")

Ticket :#4163611

Signed-off-by: Rajasekar Raja <[email protected]>
@raja-rajasekar raja-rajasekar force-pushed the rajasekarr/evpn_pop_items_bp branch from b8c88a5 to 898852f Compare November 15, 2024 08:32
Copy link
Member

@ton31337 ton31337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ton31337
Copy link
Member

@Mergifyio backport stable/10.2 stable/10.1

Copy link

mergify bot commented Nov 16, 2024

backport stable/10.2 stable/10.1

✅ Backports have been created

@ton31337 ton31337 merged commit c050972 into FRRouting:master Nov 16, 2024
11 checks passed
Jafaral added a commit that referenced this pull request Nov 17, 2024
bgpd : backpressure - Fix to pop items off zebra_announce FIFO for few EVPN triggers (backport #17432)
ton31337 added a commit that referenced this pull request Nov 19, 2024
bgpd : backpressure - Fix to pop items off zebra_announce FIFO for few EVPN triggers (backport #17432)
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