-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BGP: Handle interface or local address failure
Ticket: CM-6883 Reviewed By: CCR-3272 Testing Done: Tested on 2.5.3-SE-1 This commit is a port of the patch bgpd-handle-peer-local-address-failure.patch from 2.5-br. When a peering is being established, the IPv4 and IPv6 addresses of the local end of the connection, as applicable, are obtained and stored in the peer's 'nexthop' structure to facilitate filling of the NEXT_HOP field in Update messages among other things. The process of obtaining the local address involves examination of the list of interfaces to identify a match corresponding to the socket address of the connection. There are timing conditions, especially when BGPD starts with a config, where the interface may not have reached BGP from Zebra at the time a peering reaches the state to determine the local addresses. The code does not handle this well and the result could be Updates generated with bad (Martian) NEXT_HOP values. Resolve the issue by bringing down the connection in this case as not identifying the local addresses is really an error.
- Loading branch information
1 parent
c8a96ae
commit e33a488
Showing
3 changed files
with
37 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters