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

From: Kevin Lo <kevlo_at_kevlo.org>
Date: Wed, 10 Aug 2011 15:07:03 +0800
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

	Kevin
Received on Wed Aug 10 2011 - 05:44:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC