diff options
Diffstat (limited to 'bgpd/bgp_zebra.c')
| -rw-r--r-- | bgpd/bgp_zebra.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index bc51d14b39..bcec12051e 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1179,9 +1179,10 @@ static bool update_ipv6nh_for_route_install(int nh_othervrf, struct bgp *nh_bgp,  					ifindex =  						pi->peer->nexthop.ifp->ifindex;  			if (!ifindex) { -				if (pi->peer->conf_if) -					ifindex = pi->peer->ifp->ifindex; -				else if (pi->peer->ifname) +				if (pi->peer->conf_if) { +					if (pi->peer->ifp) +						ifindex = pi->peer->ifp->ifindex; +				} else if (pi->peer->ifname)  					ifindex = ifname2ifindex(  						pi->peer->ifname,  						pi->peer->bgp->vrf_id); @@ -2146,6 +2147,9 @@ void bgp_zebra_initiate_radv(struct bgp *bgp, struct peer *peer)  {  	uint32_t ra_interval = BGP_UNNUM_DEFAULT_RA_INTERVAL; +	if (CHECK_FLAG(bgp->flags, BGP_FLAG_IPV6_NO_AUTO_RA)) +		return; +  	/* Don't try to initiate if we're not connected to Zebra */  	if (zclient->sock < 0)  		return;  | 
