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: