bgpd: Fix BGP to update correct v6 next-hop globally #15919
+13
−10
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.
Issue:
In a dual-stack IPv4/IPv6 BGP session, after the interface is deactivated (ifdown) and then reloaded (ifreload), the global next-hop within BGP is incorrectly updated. Currently, only unnumbered neighbors are handled.
We also need to handle an IPv4 neighbor when IPv6 AFI-SAFI is enabled.
Fix:
When the primary global v6 unicast address is received from Zebra, BGP updates the peer's global next-hop with the correct address and send update to its negibors.
Testing: UT, and TestEbgpMultihop tests
UT logs:
with fix:
root@:mgmt:/tmp# ifdown swp1s0; ifreload -a root@:mgmt:/tmp# vtysh -c "show ip bgp vrf all neighbors" | grep Nexthop Nexthop: 20.1.2.101
Nexthop global: 2001:10:1:2::101
Nexthop local: fe80::7efe:90ff:fefa:e158
without fix after ifreload:
Nexthop: 20.1.2.101
Nexthop global: ::
Nexthop local: fe80::7efe:90ff:fefa:e158
Ticket: #
Signed-off-by: Rajesh Varatharaj [email protected] and Pooja Doijode [email protected]