Hi Andrew,

I just committed Svatopluk's fix to HEAD, thanks!

        Kevin

On Wed, 2011-08-03 at 11:11 -0400, Andrew Boyer wrote:
> We found and fixed a similar issue with an identical patch.  It has been 
> working fine for us under stable/8.
> 
> Unfortunately I am weeks and weeks behind on pushing fixes back to the tree, 
> so you had to duplicate the work.  If it can be committed (and MFC'd to 8, 
> please) it would save others the trouble.
> 
> -Andrew
> 
> On Aug 3, 2011, at 10:51 AM, Svatopluk Kraus wrote:
> 
> > I have two NIC on same NET (both are up). If a NIC which installs
> > network route is going down then an error happens during network route
> > replacement (in_scrubprefix: err=17, new prefix add failed).
> > 
> >  I've done a little bit investigation. In rtinit1(), before
> > rtrequest1_fib() is called, info.rti_flags is initialized by flags
> > (function argument) or-ed with ifa->ifa_flags. Both NIC has a loopback
> > route to itself, so IFA_RTSELF is set on ifa(s). As IFA_RTSELF is
> > defined by RTF_HOST, rtrequest1_fib() is called with RTF_HOST flag
> > even if netmask is not NULL. Consequently, netmask is set to zero in
> > rtrequest1_fib(), and request to add network route is changed under
> > hands to request to add host route. It is the reason of logged info
> > and my problem.
> > 
> >  When I've done more investigation, it looks similar to
> > http://svnweb.freebsd.org/base?view=revision&revision=201543. So, I
> > propose the following patch.
> > 
> > Index: sys/net/route.c
> > ===================================================================
> > --- sys/net/route.c (revision 224635)
> > +++ sys/net/route.c (working copy)
> > @@ -1478,7 +1478,7 @@
> >              */
> >             bzero((caddr_t)&info, sizeof(info));
> >             info.rti_ifa = ifa;
> > -           info.rti_flags = flags | ifa->ifa_flags;
> > +           info.rti_flags = flags | (ifa->ifa_flags & ~IFA_RTSELF);
> >             info.rti_info[RTAX_DST] = dst;
> >             /*
> >              * doing this for compatibility reason
> > 
> > 
> >  Is the patch sufficient?
> > 
> >      Svata
> > _______________________________________________
> > freebsd-current@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
> 
> --------------------------------------------------
> Andrew Boyer  abo...@averesystems.com
> 
> 
> 
> 
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to