Subject: kern/17679: kernel panics in stf(4) during IPv6 network activity
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 07/22/2002 18:15:30
>Number:         17679
>Category:       kern
>Synopsis:       kernel panics in stf(4) during IPv6 network activity
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 22 09:16:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 1.6_BETA4 2002-07-13 sources
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD colwyn.zhadum.de 1.6_BETA4 NetBSD 1.6_BETA4 (COLWYN) #0: Sun Jul 14 14:37:54 CEST 2002 tron@colwyn.zhadum.de:/src/sys/compile/COLWYN i386
Architecture: i386
Machine: i386
>Description:
Because my ISP doesn't support IPv6 I use 6to4 via stf(4) over pppoe(4) to
get IPv6 connectivity on my DSL line. When I download a snapshot via "wget"
from "ftp.netbsd.org" the machine paniced. The stack trace from the dump
looks like this:

#0  0x1 in ?? ()
#1  0xc02b296b in cpu_reboot ()
#2  0xc01e259f in panic ()
#3  0xc02b8e6a in trap ()
#4  0xc0100bc7 in calltrap ()
#5  0xc0247d69 in ip_output ()
#6  0xc02180df in stf_output ()
#7  0xc027d55b in nd6_output ()
#8  0xc0273267 in ip6_output ()
#9  0xc025608d in tcp_output ()
#10 0xc0259031 in tcp_usrreq ()
#11 0xc01f3eeb in soreceive ()
#12 0xc01e7b63 in soo_read ()
#13 0xc01e4aee in dofileread ()
#14 0xc01e4a42 in sys_read ()
#15 0xc02b89e3 in syscall_plain ()
#16 0xc0100c3c in syscall1 ()

I've encountered this panic more than once but this time the machine wrote
a crash dump for the first time.

>How-To-Repeat:
1.) Use stf(4) over pppoe(4) by adding these lines to "/etc/ppp/ip-up" ...

IPV6_ADDR=`echo $4 | awk -F. '{printf("2002:%02x%02x:%02x%02x::1\n",$1,$2,$3,$4)}'`
ifconfig stf0 create inet6 ${IPV6_ADDR} prefixlen 16 up
route add -inet6 default 2002:c058:6301::

... and "/etc/ppp/ip-down":

route delete -inet6 default 2002:c058:6301::
ifconfig stf0 destroy

    The next time your system reconnects to the ISP ifwatchd(8) will create
    a 6to4 tunnel.

2.) Start a large download via "wget -m".

>Fix:
None provided.

>Release-Note:
>Audit-Trail:
>Unformatted: