bgpd: Unset TOVPN_SID_EXPLICIT flag to ensure BGP can release SRv6 SIDs (backport #18969) #18973
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a BGP instance is about to be destroyed, we call delete_vrf_tovpn_sid_per_vrf() to release SRv6 SIDs.
This function checks that there are no BGP_VRF_TOVPN_SID_* flags set for this BGP instance. If there are, then it assumes that this BGP instance is still using SRv6, and returns early without releasing the SIDs.
This PR makes sure the BGP_VRF_TOVPN_SID_EXPLICIT flag is unset before calling delete_vrf_tovpn_sid_per_vrf(), so that the delete_vrf_tovpn_sid_per_vrf() can do its job and release the SIDs.
This is an automatic backport of pull request #18969 done by Mergify.