On 21/03/16(Mon) 15:54, Peter Hessler wrote:
> We ran into a situation where we accidentally blackholed traffic going to
> a new Internet Exchange.  When we added the new vlans and new peers, the
> nexthop address on that vlan was *not* our neighbor's address, but
> instead used our own IP address on that new interface.  "bgpctl show rib",
> showed the correct IP, but the wrong one was used when installing into
> the fib.
> 
> Restarting bgpd installed the correct nexthop.
> 
> Additionally, a user had reported that "network inet connected" didn't
> work any more.  This fix also convinces bgpd to redistribute the network
> as soon as it is created.  The underlying cause was a combination of
> missing the F_CONNECTED flag, as well as having an ifindex of 0, which
> is lo0's index.
> 
> OK?

Yes, this is a fallout from the multiple cloning route support.

Previously the RTAX_GATEWAY of a cloning route was an AF_LINK, now
it contains the address associated to the route.

Make sure you get the input from a bgpd hacker though.

> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/kroute.c,v
> retrieving revision 1.207
> diff -u -p -u -p -r1.207 kroute.c
> --- kroute.c  5 Dec 2015 18:28:04 -0000       1.207
> +++ kroute.c  21 Mar 2016 14:44:52 -0000
> @@ -3178,6 +3178,12 @@ dispatch_rtmsg_addr(struct rt_msghdr *rt
>                       sa = NULL;
>                       mpath = 0;      /* link local stuff can't be mpath */
>                       break;
> +             case AF_INET:
> +             case AF_INET6:
> +                     if (rtm->rtm_flags & RTF_CONNECTED)
> +                             flags |= F_CONNECTED;
> +                     ifindex = rtm->rtm_index;
> +                     break;
>               }
>  
>       if (rtm->rtm_type == RTM_DELETE) {
> 
> 
> 
> 
> -- 
> If you are a fatalist, what can you do about it?
>               -- Ann Edwards-Duff
> 

Reply via email to