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.