Skip to contentSkip to conversation

VIA Velocity massive memory corruption with jumbo frames

DISCUSSION John Zielinski 2 participants 3 messages Feb 25, 2006 – Feb 26, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

I just bought a stack of Via Velocity network cards to upgrade my network. I also purchased a Netgear GS-108 Gigabit switch which has supports for jumbo frames. When I tried increasing the MTU to 9000 I started getting massive memory corruption. Some of the symptoms were: programs failing to load, random oopses, VT freezes, machine freezes, filesystem corruption, etc. It only happened when the machine was receiving network traffic. The RX count would not advance either for that interface.

I tried on another machine and got the same thing. I even set up a fresh install of Linux with the latest kernel on a test box and got the same. Dual booting to Windows on that box works perfect with jumbo frames as well as the other two Windows machines on the network with the same type of card. I tried three Linux boxes with the same results. Each box has different hardware and configurations. The original machine I tried it on is a dual P3-833 machine running 2.6.10 while the test box is a Celeron 800 with a clean install of 2.6.15.4.

I also tried an MTU of 3000 instead of 9000 and got the same thing.

Anyone know what I should try next?

#1 lore raw

John Zielinski <[email protected]> :
[...]

Quoted 1 line

Anyone know what I should try next?

Try the patch below and Cc: [email protected] on further messages please.

drivers/net/via-velocity.c +3 -0
index c2d5907..ed1f837 100644
@@ -1106,6 +1106,9 @@ static void velocity_free_rd_ring(struct
 
 	for (i = 0; i < vptr->options.numrx; i++) {
 		struct velocity_rd_info *rd_info = &(vptr->rd_info[i]);
+		struct rx_desc *rd = vptr->rd_ring + i;
+
+		memset(rd, 0, sizeof(*rd));
 
 		if (!rd_info->skb)
 			continue;
#2 lore raw
Quoted 3 lines · Francois Romieu

Try the patch below and Cc: [email protected] on further messages please.

It worked. No more memory corruption and I can ping 9000 byte packets to my Windows box.