NetBSD Problem Report #22691

Received: (qmail 736 invoked by uid 605); 5 Sep 2003 02:08:54 -0000
Message-Id: <20030905020852.E9C9B11152@narn.netbsd.org>
Date: Fri,  5 Sep 2003 02:08:52 +0000 (UTC)
From: jmitchel@bigjar.com
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: jmitchel@bigjar.com
To: gnats-bugs@gnats.NetBSD.org
Subject: Multiple sip interfaces & kernel compiled without IPv6 causes panic 
X-Send-Pr-Version: www-1.0

>Number:         22691
>Category:       kern
>Synopsis:       Multiple sip interfaces & kernel compiled without IPv6 causes panic
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 05 02:09:00 +0000 2003
>Closed-Date:    
>Last-Modified:  Sat Sep 06 22:35:00 +0000 2003
>Originator:     jmitchel@bigjar.com
>Release:        1.6-release & current
>Organization:
>Environment:
NetBSD 1.6X (NET4501)  Thu Sep  4 20:35:28 EDT 2003
>Description:
On a machine with 3 sip interfaces and a kernel compiled without IPv6 support, sending more than approx. 127 packets to sip2 causes a kernel panic that looks like this:

sip2: can't load rx DMA map 127, error = 22
panic: sip_add_rxbuf
syncing disks... done

dump to dev 17,1 not possible
rebooting...

The hardware is a soekris Net4501 (a single board computer with an AMD Elan chip and 64Mb RAM -- see www.soekris.com for more details)
The affected computers also have a gif interface configured. The packets are being routed from sip2 to gif0 (which is reached via sip1). Sip0 is configured the same way as sip2, but is not affected.

Here's the rest of the config:

# $NetBSD: NET4501,v 1.20 2003/04/10 22:06:59 christos Exp $
#
# NET4501 -- kernel configuration for a Soekris Engineering net4501
# single-board computer.
#
#	http://www.soekris.com/
# 

include 	"arch/i386/conf/std.i386"

maxusers	32		# estimated number of users
options 	I486_CPU
# AMD Elan SC520's timer runs at a different frequency
options 	TIMER_FREQ=1189200

makeoptions	COPTS="-Os -mcpu=i486"
options 	VNODE_OP_NOINLINE

options         MEMORY_DISK_HOOKS
options         MEMORY_DISK_IS_ROOT
options         MEMORY_DISK_SERVER=0
options         MEMORY_DISK_ROOT_SIZE=9216

options 	DUMMY_NOPS


options 	RTC_OFFSET=0	# hardware clock is this many mins. 
options 	NTP		# NTP phase/frequency locked loop

file-system     FFS
file-system 	MFS		# memory file system

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
#options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25
#options 	NETATALK	# AppleTalk networking protocols
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
#options 	IPFILTER_LOG	# ipmon(8) log support
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space

options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

# Kernel root file system and dump configuration.
config		netbsd	root on ? type ?
#config		netbsd	root on sd0a type ffs
#config		netbsd	root on ? type nfs

#
# Device configuration
#

mainbus0 at root
cpu0 	at mainbus0

# Basic Bus Support

# PCI bus support
pci*	at mainbus? bus ?

# Configure PCI using BIOS information
#options 	PCIBIOS			# PCI BIOS support
#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
#options 	PCIBIOS_ADDR_FIXUP	# fixup PCI I/O addresses
#options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering
#options 	PCIBIOS_INTR_FIXUP	# fixup PCI interrupt routing
#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup

# PCI bridges
elansc*	at pci? dev ? function ?	# Elan SC520 System Controller

# ISA bus support
isa0	at mainbus?

# CardBus bridge support
#cbb*		at pci? dev ? function ?
#cardslot*	at cbb?

# CardBus bus support
#cardbus*	at cardslot?
#pcmcia* 	at cardslot?

# Coprocessor Support

# Math Coprocessor support
npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor

# ISA serial interfaces
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3

# IDE and related devices

# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0	at isa? port 0x1f0 irq 14 flags 0x00

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*	at wdc? channel ? drive ? flags 0x0000

# Network Interfaces

# PCI network interfaces
sip*	at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
#wi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)

# PCMCIA network interfaces
#wi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)

# MII/PHY support
nsphyter* at mii? phy ?			# NS83843 PHYs

# Pseudo-Devices

# network pseudo-devices
pseudo-device	bpfilter	16	# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
#pseudo-device	ppp		2	# Point-to-Point Protocol
#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
#pseudo-device	sl		2	# Serial Line IP
#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
#pseudo-device	tun		2	# network tunneling over tty
#pseudo-device	gre		2	# generic L3 over IP tunnel
pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
#pseudo-device	vlan			# IEEE 802.1q encapsulation
#pseudo-device	bridge			# simple inter-network bridging
pseudo-device	md		1

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
#pseudo-device	tb		1	# tablet line discipline
#pseudo-device	sequencer	1	# MIDI sequencer
# rnd works; RND_COM does not on port i386 yet.
pseudo-device	rnd			# /dev/random and in-kernel generator
#options 	RND_COM			# use "com" randomness as well (BROKEN)
pseudo-device	clockctl		# user control of clock subsystem
>How-To-Repeat:
On a kernel as described above, sending approx. 127 packets causes the panic. This happens on at least 3 identical boards with identical NetBSD images. Unfortunately, I don't have another type of machine with three sip interfaces to test with.
>Fix:
Compile the kernel with: options INET6. Make the sip interface code (or the gif interface code) require INET6.

>Release-Note:
>Audit-Trail:

From: itojun@itojun.org (Jun-ichiro itojun Hagino)
To: jmitchel@bigjar.com
Cc: gnats-bugs@gnats.NetBSD.org
Subject: Re: kern/22691: Multiple sip interfaces & kernel compiled without
 IPv6 causes panic 
Date: Fri,  5 Sep 2003 11:40:54 +0900 (JST)

 > >Synopsis:       Multiple sip interfaces & kernel compiled without IPv6 causes panic
 > On a machine with 3 sip interfaces and a kernel compiled without
 > IPv6 support, sending more than approx. 127 packets to sip2 causes
 > a kernel panic that looks like this:

 	you mean flodding sip2 interface with ping -F?  or just 127 packets
 	with some interval?

 > sip2: can't load rx DMA map 127, error = 22
 > panic: sip_add_rxbuf
 > syncing disks... done
 > 
 > dump to dev 17,1 not possible
 > rebooting...
 > 
 > The hardware is a soekris Net4501 (a single board computer with
 > an AMD Elan chip and 64Mb RAM -- see www.soekris.com for more
 > details)
 > The affected computers also have a gif interface configured. The
 > packets are being routed from sip2 to gif0 (which is reached via
 > sip1). Sip0 is configured the same way as sip2, but is not affected.

 	i have my NET4501/4801 running as my home router, never experienced
 	this problem.  (used NET4501 for a year, then switched to 4801)

 itojun

From: "Jason Mitchell" <jmitchel@rosstechnologygroup.com>
To: "Jun-ichiro itojun Hagino" <itojun@itojun.org>
Cc: <gnats-bugs@gnats.NetBSD.org>
Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled without IPv6 causes panic 
Date: Thu, 4 Sep 2003 23:54:54 -0400

 Itojun,

 	Just 127 packets with some interval -- normal traffic (web browsing). Did
 you disable IPv6 in your kernel? With IPv6 enabled, everything is fine.

 Jason M.

 -----Original Message-----
 From: Jun-ichiro itojun Hagino [mailto:itojun@itojun.org]
 Sent: Thursday, September 04, 2003 10:41 PM
 To: jmitchel@bigjar.com
 Cc: gnats-bugs@gnats.NetBSD.org
 Subject: Re: kern/22691: Multiple sip interfaces & kernel compiled
 without IPv6 causes panic


 > >Synopsis:       Multiple sip interfaces & kernel compiled without IPv6
 causes panic
 > On a machine with 3 sip interfaces and a kernel compiled without
 > IPv6 support, sending more than approx. 127 packets to sip2 causes
 > a kernel panic that looks like this:

 	you mean flodding sip2 interface with ping -F?  or just 127 packets
 	with some interval?

 > sip2: can't load rx DMA map 127, error = 22
 > panic: sip_add_rxbuf
 > syncing disks... done
 >
 > dump to dev 17,1 not possible
 > rebooting...
 >
 > The hardware is a soekris Net4501 (a single board computer with
 > an AMD Elan chip and 64Mb RAM -- see www.soekris.com for more
 > details)
 > The affected computers also have a gif interface configured. The
 > packets are being routed from sip2 to gif0 (which is reached via
 > sip1). Sip0 is configured the same way as sip2, but is not affected.

 	i have my NET4501/4801 running as my home router, never experienced
 	this problem.  (used NET4501 for a year, then switched to 4801)

 itojun


From: itojun@itojun.org (Jun-ichiro itojun Hagino)
To: jmitchel@rosstechnologygroup.com
Cc: gnats-bugs@gnats.NetBSD.org
Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled without
 IPv6 causes panic 
Date: Fri,  5 Sep 2003 13:06:37 +0900 (JST)

 > 	Just 127 packets with some interval -- normal traffic (web browsing). Did
 > you disable IPv6 in your kernel? With IPv6 enabled, everything is fine.

 	I have IPv6 enabled (and i can't disable it as i use IPv6 daily).
 	do you see any IPv6 traffic on your LAN?

 itojun

From: "Jason Mitchell" <jmitchel@rosstechnologygroup.com>
To: "Jun-ichiro itojun Hagino" <itojun@itojun.org>
Cc: <gnats-bugs@gnats.NetBSD.org>
Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled without IPv6 causes panic 
Date: Fri, 5 Sep 2003 00:14:31 -0400

 Itojun,

 	Nope, there's no IPv6. There's nothing between the Windows ME station and
 the Net4501, so I'm 100% positive there's no IPv6 traffic.

 Jason M.

 -----Original Message-----
 From: Jun-ichiro itojun Hagino [mailto:itojun@itojun.org]
 Sent: Friday, September 05, 2003 12:07 AM
 To: jmitchel@rosstechnologygroup.com
 Cc: gnats-bugs@gnats.NetBSD.org
 Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled
 without IPv6 causes panic


 > 	Just 127 packets with some interval -- normal traffic (web browsing). Did
 > you disable IPv6 in your kernel? With IPv6 enabled, everything is fine.

 	I have IPv6 enabled (and i can't disable it as i use IPv6 daily).
 	do you see any IPv6 traffic on your LAN?

 itojun


From: itojun@itojun.org (Jun-ichiro itojun Hagino)
To: jmitchel@rosstechnologygroup.com
Cc: gnats-bugs@gnats.NetBSD.org
Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled without
 IPv6 causes panic 
Date: Fri,  5 Sep 2003 13:16:22 +0900 (JST)

 > 	Nope, there's no IPv6. There's nothing between the Windows ME station and
 > the Net4501, so I'm 100% positive there's no IPv6 traffic.

 	hmm.  then i have no clue.  sorry.

 itojun

From: "Jason Mitchell" <jmitchel@rosstechnologygroup.com>
To: <gnats-bugs@gnats.NetBSD.org>
Cc:  
Subject: RE: kern/22691: Multiple sip interfaces & kernel compiled without IPv6 causes panic 
Date: Sat, 6 Sep 2003 18:34:20 -0400

 It turns out that without the gif interface, there's no panic. So I'm
 guessing that the gif code somehow depends on IPv6.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.