summaryrefslogtreecommitdiff
path: root/lib/command.c
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2016-03-28 09:37:39 -0700
committervivek <vivek@cumulusnetworks.com>2016-03-28 15:12:14 -0700
commit83260f0093509c2ba9072d7e2c12dc919f465240 (patch)
treedf313acf5e4951df5e38b5c41c9ab71cfaa88c5f /lib/command.c
parentcbe0a6a1e9129cd754b36d8c31d8984ed15beaba (diff)
BGP: Fix BGP unnumbered peerings across VRFs
Upon receipt of incoming connection, a peer structure (doppelganger) is created internally and the connection processed for it. The problem is that in the case of BGP unnumbered, the sockunion structure within BGP was being updated (in peer_create()) prior to the peer's flags being updated, so it didn't take into account the 'v6only' configuration. This results in subsequent problems when bgp_bind() is done - the socket ends up being bound to the BGP instance instead of the interface. In the case of an incoming connection, we should just use the addresses on which the connection was setup/accepted, there is no need to attempt to derive it again. Further, there is no need to attempt to update addresses at the time of peer_create() since that is done when the connection is attempted in bgp_start(). Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com> Ticket: CM-10028 Reviewed By: CCR-4373 Testing Done: Manual, bgpsmoke
Diffstat (limited to 'lib/command.c')
0 files changed, 0 insertions, 0 deletions