Date: Wed, 10 Aug 2011 15:07:03 +0800 From: Kevin Lo <kevlo@kevlo.org> To: Svatopluk Kraus <onwahe@gmail.com> Cc: Jeremiah Lott <jlott@averesystems.com>, freebsd-current@freebsd.org, Andrew Boyer <aboyer@averesystems.com> Subject: Re: [patch] Problem with two NIC on same NET (in_scrubprefix: err=17, new prefix add failed) Message-ID: <1312960023.2614.12.camel@srgsec> In-Reply-To: <CAFHCsPVM1iGehjt8AAiwhQvW81GqLjjf7SO_-OnWzYBadQ0jmw@mail.gmail.com> References: <CAFHCsPUpkr-vne%2B9cLnovUXDGeVrOzHrKp1YAub=TjJW_3aVtg@mail.gmail.com> <92B5D566-9816-4134-9358-2306D0F7DAFC@averesystems.com> <1312781293.2521.1.camel@srgsec> <CAFHCsPVM1iGehjt8AAiwhQvW81GqLjjf7SO_-OnWzYBadQ0jmw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1312960023.2614.12.camel>