mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 17:13:46 +00:00
bgpd: Do not allow a peer to come up on v6 if we have no ability to route
Modify bgp to not allow a v6 peer to come up if the v6 afi is negotiated and the outgoing interface has no v6 address as well as zebra does not support the v6 with v4 nexthop capabilities that some dataplanes allow. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
052debc3ee
commit
95002ded3e
@ -1735,11 +1735,14 @@ static int bgp_open_receive(struct peer *peer, bgp_size_t size)
|
||||
|| peer->afc_nego[AFI_IP6][SAFI_MULTICAST]
|
||||
|| peer->afc_nego[AFI_IP6][SAFI_MPLS_VPN]
|
||||
|| peer->afc_nego[AFI_IP6][SAFI_ENCAP]) {
|
||||
if (IN6_IS_ADDR_UNSPECIFIED(&peer->nexthop.v6_global)) {
|
||||
#if defined(HAVE_CUMULUS)
|
||||
zlog_warn("%s: No local IPv6 address, BGP routing may not work",
|
||||
if (IN6_IS_ADDR_UNSPECIFIED(&peer->nexthop.v6_global) &&
|
||||
!bm->v6_with_v4_nexthops) {
|
||||
flog_err(EC_BGP_SND_FAIL,
|
||||
"%s: No local IPv6 address, and zebra does not support V6 routing with v4 nexthops, BGP routing for V6 will not work",
|
||||
peer->host);
|
||||
#endif
|
||||
bgp_notify_send(peer, BGP_NOTIFY_CEASE,
|
||||
BGP_NOTIFY_SUBCODE_UNSPECIFIC);
|
||||
return BGP_Stop;
|
||||
}
|
||||
}
|
||||
peer->rtt = sockopt_tcp_rtt(peer->fd);
|
||||
|
Loading…
Reference in New Issue
Block a user