Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Dec 2001 05:42:53 -0800
From:      Luigi Rizzo <rizzo@aciri.org>
To:        "Robert D. Hughes" <rob@robhughes.com>
Cc:        Yusuf Goolamabbas <yusufg@outblaze.com>, freebsd-net@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG, cez@pkl.net
Subject:   Re: 4.4-stable kernel panic with dummynet/bridging. Same rules work fine with 4.3-RC
Message-ID:  <20011226054253.A62387@iguana.aciri.org>
In-Reply-To: <B95B566BD245174196CA4EE29E581883092E93@HEXCH01.robhughes.com>
References:  <B95B566BD245174196CA4EE29E581883092E93@HEXCH01.robhughes.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I have found the bug, it's a one-line change in netinet/if_ether.c

	@@ -574,5 +574,4 @@ in_arpinput(m)
			m_freem(m);
			return;
		}
	-       ia = ifatoia(ifa);
	 match:

I am waiting for re@ to approve the commit. The code in -current
is already fixed.

	cheers
	luigi
 
On Thu, Dec 20, 2001 at 08:27:58AM -0600, Robert D. Hughes wrote:
> Hmmmm.... I thought it was just me, and I hadn't had a chance yet to go
> digging. I just enabled OPTIONS = BRIDGE in the kernel and I was getting
> spontaneous reboots, but they pointed to NATD blowing up. Essentially
> the same error though. Removing OPTIONS = BRIDGE seems to have stopped
> the reboots. This is on the 4.4-STABLE tree and has been going on for at
> least a couple of weeks.
> 
> Rob
> 
> -----Original Message-----
> From: Yusuf Goolamabbas [mailto:yusufg@outblaze.com]
> Sent: Thursday, December 20, 2001 5:16 AM
> To: freebsd-net@freebsd.org; freebsd-stable@freebsd.org
> Cc: cez@pkl.net
> Subject: 4.4-stable kernel panic with dummynet/bridging. Same rules work
> fine with 4.3-RC
> 
> 
> Hi, Similar to what Ceri describes in this message
> 
> http://docs.freebsd.org/cgi/getmsg.cgi?fetch=508422+0+current/freebsd-st
> able
> 
> I have observed a 4.4-stable box panicing whenever bridging is turned
> on. This was cvsup'ed today morning. I have other boxes cvsup'ed at
> the same time except that they don't have dummynet/bridging configured
> in them and they work pretty well
> 
> I replaced the box with an another 4.3-RC box and the same rules
> enclosed here work just fine
> 
> ${fwcmd} add 100 pass all from any to any via lo0
> ${fwcmd} add 200 deny all from any to 127.0.0.0/8
> ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
> # If you're using 'options BRIDGE', uncomment the following line to pass
> ARP
> ${fwcmd} add 400 pass udp from 0.0.0.0 2054 to 0.0.0.0
> ${fwcmd} add 500 pass all from <ip_range> to any in via fxp0
> ${fwcmd} add 800 pipe 1 ip from <ip_range> to any in via fxp1
> ${fwcmd} pipe 1 config mask src-ip 0x000000ff bw 512Kbit/s queue 50 
> 
> Basically, fxp1 is connected to a switch and every machine on that
> switch is rate limited to 512Kbit/s individually
> 
> I had configured the box with DDB but didn't have serial console so I
> transcribed everything at the db> prompt
> 
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0xa4
> fault code            = superviser read, page not present
> instruction pointer = 0x8:0xc0199164
> strack pointer      = 0x10:0xc9889b5c
> frame pointer       = 0x10:0xc9889bac
> code segment = base 0x0, limit 0xfff type 0x1b
>              = DPL 0, pres 1, def32 1, gran 1
> processor eflags	= interrupt enabled, resume, IOPL = 0
> current process		= 55 (sh)
> interrupt mask      =
> kernel:             type 12 trap, code = 0
> stopped at in_arpinput+0x158; movl 0xa4(%eax,%eax)
> 
> db> t
> in_arpinput(c077cb00,0,c989cac,c020d625,c020d5df) at in_arpinput+0x158
> arpintr(c020dfdf,0,c02800,0,c7640010,c0e700,0) at arpintr+0x112
> swi_net_next(c028c26c,c764f000,3,0,c835c440) at swi_net_next
> trap_pfault(c9889d20,0,c764f000,0,806c591) at trap_pfault+0xbe
> trap(10,c9880010,c01d0010,c764f000,80be591_ at trap+0x31f
> calltrap() at calltrap+0x11
> trap 0xc : eip  - 0xc02172cf , esp - 0xc9889d60, ebp - 0xc9889d88
> copyinstr(c9889e68,0,0,c9889f80,c9889f80) at copyinstr+0x37
> exec_elf_imagact(c9889e68,c835c440,3,c9889f80,c9889e68) at
> exec_elf_imagact+0xba
> execve(c835c440,c9889f80,80be5d4,0,80be590) at execve+0x26c
> syscall2(2f,2f,2f,80be590,0) at syscall2+0x1a5
> Xinit0x80_syscall() + Xint-x80_syscall+0x25
> 
> Hope this helps
> 
> Regards, Yusuf
> 
> -- 
> Yusuf Goolamabbas
> yusufg@outblaze.com
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011226054253.A62387>