Date: Sat, 11 Sep 2010 01:38:18 GMT From: Ingo Flaschberger <if@xip.at> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/150481: freebsd 8.1 - ifdown - ifup - loopback route keeps Message-ID: <201009110138.o8B1cIsw019881@www.freebsd.org> Resent-Message-ID: <201009110140.o8B1e395019945@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 150481 >Category: kern >Synopsis: freebsd 8.1 - ifdown - ifup - loopback route keeps >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Sep 11 01:40:03 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Ingo Flaschberger >Release: 8.1 stable >Organization: crossip communications gmbh >Environment: FreeBSD xxx 8.1-STABLE FreeBSD 8.1-STABLE >Description: in raw_ip.c when a interface comes up with IFF_UP at the new added loopback interface the IFA_RTSELF is not set. (13 year old bug!) >How-To-Repeat: without multipath: ifconfig em3 10.40.40.3/24 ifconfig down em3 # all ok ifconfig up em4 # all ok ifconfig down em4 # loopback route not deleted (not tested) with multipath: ifconfig em3 10.40.40.3/24 ifconfig down em3 # all ok ifconfig up em4 # all ok ifconfig down em4 # loopback route not deleted ifconfig up em4 # 2 loopback routes .. and when setting only a /32 ost route at the interface, freebsd crashes after the 2nd ifconfig up >Fix: see attached patch Patch attached with submission follows: --- /usr/src/sys/netinet/raw_ip.c 2010-05-02 16:36:15.000000000 +0000 +++ /router/usr/src/sys/netinet/raw_ip.c 2010-09-11 01:28:24.000000000 +0000 @@ -755,6 +755,8 @@ if (err == 0) ia->ia_flags |= IFA_ROUTE; err = ifa_add_loopback_route((struct ifaddr *)ia, sa); + if (err == 0) + ia->ia_flags |= IFA_RTSELF; ifa_free(&ia->ia_ifa); break; } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009110138.o8B1cIsw019881>