Subject: bin/37429: More than one network restart with ifconfig.if and INET6 doesn't act right.
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: None <mcs@darkregion.net>
List: netbsd-bugs
Date: 11/25/2007 10:10:00
>Number: 37429
>Category: bin
>Synopsis: More than one network restart with ifconfig.if and INET6 doesn't act right.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Nov 25 10:10:00 +0000 2007
>Originator: Matthew C. Smith
>Release: 4.0_RC4
>Organization:
>Environment:
NetBSD lanv6.darkregion.net 4.0_RC4 NetBSD 4.0_RC4 (GENERIC) #0: Thu Nov 8 02:07:30 PST 2007 builds@wb34:/home/builds/ab/netbsd-4-0-RC4/i386/200711080452Z-obj/home/builds/ab/netbsd-4-0-RC4/src/sys/arch/i386/compile/GENERIC i386
>Description:
If you have an inet6 address in an ifconfig.if(5) file and you run
/etc/rc.d/network restart
after the inet6 address has already been assigned to the interface (either manually via ifconfig or for the first time through ifconfig.if(5) and a network restart), the inet6 address fails to work as it did (for instance, you can't ping6 the inet6 address).
Also, I'm running this instance of NetBSD under a Ubuntu/VMWare host.
>How-To-Repeat:
Step 1:
echo inet6 fdc7:XXXX:XXXX:3::1/64 up > /etc/ifconfig.pcn0
/etc/rc.d/network restart
ping6 fdc7:XXXX:XXXX:3::1
(works)
Step 2:
/etc/rc.d/network restart
ping6 fdc7:XXXX:XXXX:3::1
(times out)
Note, step 1 can be replaced by removing the inet6 address (if assigned), and ifconfig'ing manually; the end result is the same: if you do a network restart with the address already assigned, the address will fail afterwards.
Note also, that ifconfig'ing manually two times in a row does *not* achieve the same effect as a network restart; the address continues to work.
>Fix:
As a work-around, you can remove the inet6 address and add it back (either manually or via a single network restart). Just don't ab[use] network restart.