Sorry for the crosspost, but I think this is of interest on both lists.
I'm reliably panicing the kernel when sending tcp over a bridge that
includes a netgear GA620 (acenic driver) card.

Setup:
Dual PIII 1Ghz, serverworks chipset, vanilla linux 2.4.17. Network
cards: 1 eepro100, 1 Netgear GA620 gigE card, 1 4-port linksys tulip
card.

Driver versions from dmesg:
acenic.c: v0.85 11/08/2001  Jes Sorensen, [EMAIL PROTECTED]
Linux Tulip driver version 0.9.15-pre9 (Nov 6, 2001)
NET4: Ethernet Bridge 008 for NET4.0

I'm trying to make an ethernet bridge between all 4 ports of the tulip
card and the netgear gigabit card. Because of the kernel crashes, I
narrowed it down to 1 port of the tulip card and the Netgear.
Bridges without the netgear card are rock solid.

Once I bring up this bridge, I can ping across it. The instant I try to
open an ssh session or use ttcp across the bridge, though, the kernel
goes down in flames. I took down the oops output by hand and ran it
through ksymoops (it took a couple tries before I could get the call
trace properly decoded, but i think this is right. The "Stack" section
is probably wrong; I was mostly trying to get a good call trace.)

I know enough about kernel networking internals to help debug this, but
do any of you know where I should start? Does anyone have any experience
using gigibit cards in linux bridges?

thanks, Jason


ksymoops 2.4.3 on i686 2.4.17-jl9.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.17-jl9/ (default)
     -m /boot/System.map-2.4.17-jl9 (default)


Invalid operand: 0000
CPU: 1
EIP: 0000:[<c018dfc3>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010206
eax: 00007e7d  ebx: df87a6e0  ecx: b80dc66d  edx: 0000003c
esi: 00007e7b  edi: df54f780  ebp: ded67800  esp: c181de8c
ds: 0018  es: 0018  ss: 0018
Stack: dfac9800 df87a6e0 df664c00 c018e0a1 df87a6e0 df87a6e0 deccffc0 df664800
       e08c8d54 df87a6e0 df87a6e0 e08c8d66 df87a6e0 e08c8d98 df87a6e0 e08c8dfd
       def2a140 df87a6e0 e08c8f54 def2a140 df87a6e0 ded67800 df87a6e0 dfb64c00
Call Trace: [<c018e0a1>] [<e08c2d54>] [<e08c2d66>] [<e08c2d98>] [<e08c2dfd>]
            [<e08c37e2>] [<e08c3858>] [<e08c386e>] [<c018e7c0>] [<c011a35f>] 
[<c010863b>]
            [<c01051b0>] [<c01051b0>] [<c010a6d8>] [<c01051b0>] [<c01051b0>] 
[<c01051dc>]
            [<c0105242>] [<c0116438>] [<c011634e>]
Code: 0f 0b 89 c8 25 00 00 ff ff c1 e1 10 01 c8 15 ff ff 00 00 f7

>>EIP; c018dfc2 <skb_checksum_help+46/70>   <=====
Trace; c018e0a0 <dev_queue_xmit+b4/2ec>
Trace; e08c2d54 <[bridge]__dev_queue_push_xmit+34/3c>
Trace; e08c2d66 <[bridge]__br_forward_finish+a/10>
Trace; e08c2d98 <[bridge]__br_forward+14/18>
Trace; e08c2dfc <[bridge]br_forward+1c/40>
Trace; e08c37e2 <[bridge]__br_handle_frame+19e/1f0>
Trace; e08c3858 <[bridge]br_handle_frame_finish+24/30>
Trace; e08c386e <[bridge]br_handle_frame+a/1c>
Trace; c018e7c0 <net_rx_action+16c/318>
Trace; c011a35e <do_softirq+6e/cc>
Trace; c010863a <do_IRQ+da/ec>
Trace; c01051b0 <default_idle+0/34>
Trace; c01051b0 <default_idle+0/34>
Trace; c010a6d8 <call_do_IRQ+6/e>
Trace; c01051b0 <default_idle+0/34>
Trace; c01051b0 <default_idle+0/34>
Trace; c01051dc <default_idle+2c/34>
Trace; c0105242 <cpu_idle+3e/54>
Trace; c0116438 <release_console_sem+94/98>
Trace; c011634e <printk+11e/138>
Code;  c018dfc2 <skb_checksum_help+46/70>
00000000 <_EIP>:
Code;  c018dfc2 <skb_checksum_help+46/70>   <=====
   0:   0f 0b                     ud2a      <=====
Code;  c018dfc4 <skb_checksum_help+48/70>
   2:   89 c8                     mov    %ecx,%eax
Code;  c018dfc6 <skb_checksum_help+4a/70>
   4:   25 00 00 ff ff            and    $0xffff0000,%eax
Code;  c018dfca <skb_checksum_help+4e/70>
   9:   c1 e1 10                  shl    $0x10,%ecx
Code;  c018dfce <skb_checksum_help+52/70>
   c:   01 c8                     add    %ecx,%eax
Code;  c018dfd0 <skb_checksum_help+54/70>
   e:   15 ff ff 00 00            adc    $0xffff,%eax
Code;  c018dfd4 <skb_checksum_help+58/70>
  13:   f7 00 00 00 00 00         testl  $0x0,(%eax)

<0>Kernel panic: Aiee, killing interrupt handler!

_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge

Reply via email to