bgpd: Fix BGP to update correct v6 next-hop globally
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]
@Mergifyio backport stable/10.0
backport stable/10.0
🟠 Waiting for conditions to match
- [ ]
merged[📌 backport requirement]
@routingrocks could you rebase?
This pull request has conflicts, please resolve those before we can evaluate the pull request.
Normally, the issue is fixed by https://github.com/FRRouting/frr/pull/15614, which is now merged Could you test your scenario with the latest master branch?
@frrbot autoclose in 1 month