[patch] Problem with two NIC on same NET (in_scrubprefix: err=17, new prefix add failed)

Kevin Lo kevlo at kevlo.org
Wed Aug 10 07:44:06 UTC 2011

On Mon, 2011-08-08 at 16:57 +0200, Svatopluk Kraus wrote:
> Thanks for committing the fix.
> I've continued with work on two NIC on same NET. Now, with
> point-to-point interfaces too and I have more small fixes which I
> submitted today:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=159600
> http://www.freebsd.org/cgi/query-pr.cgi?pr=159601
> http://www.freebsd.org/cgi/query-pr.cgi?pr=159602
> http://www.freebsd.org/cgi/query-pr.cgi?pr=159603
> I have one more related problem, but I'm not sure how complex the fix should be.
> When an interface is marked down a network route is deleted (or
> replaced) and a loopback route persists in routing table. It is OK.
> However, when an interface is marked up again, then a network route is
> installed unconditionally (but error is ignored) and a loopbak route
> is deleted and added immediately and unconditionally too. IMHO, it is
> not correct behaviour. I think that a second half of in_ifinit()
> should be here starting by in_addprefix() call with some small or
> bigger changes.
> Maybe, adding network route and ignoring error could be OK, but
> deleting loopback route should be done under IFA_RTSELF flag is set
> condition (with existing route refcount check). V_useloopback should
> be check before re-adding the route and existing route must be check
> to evaluate refcount correctly. The proposed patch is attached.
> However, I prefer to call in_addprefix() (which is static now) instead
> of rtinit() and add some more checks from in_ifinit(). Can you (or
> anyone) review the patch?

Hi Svatopluk,

Thanks for working so hard to figure the issue out.
kern/159600 looks good to me also, committed to HEAD.
The rest needs more review, thanks!

>  Thanks once again,
>     Svata


More information about the freebsd-current mailing list