Hello Julian,
> I think, I found a NAT problem in LVS for 2.4 when
> the net driver support hardware checksuming but it seems it is
How can HW checksumming interfere with NAT? Could you point me
to the essential code in the kernel so I can follow you? :)
> at another place. The difference between the e100 driver and the
> normal kernel driver is that e100 supports hardware checksuming.
Yep, seen that. I haven't studied the e100 from Intel but I worked
a little bit on the tweaking of the eepro100 and honestly I hardly
ever experienced problems.
The general approach is:
1. Never use vendor drivers if there are in-kernel drivers
2. Use the kernel drivers and if they don't work,
3. Check out ftp://scyld.com/pub/network/ for eventual updates
4. If it still doesn't work, enable debugging mode and send
loginfo to Mr. Becker or the maintainer listed in the c-header
5. This worked in 99.99% of all cases for me. I almost never
experienced problems with NIC drivers where I had to patch
something.
> Are there other LVS users that have NAT problems in latest
> 2.4 kernels when the rx checksuming is in effect? For example, 3com
I don't know, reading the IIIC and IIID section of eepro100.c doesn't
indicate any hardware based RX checksumming. AFAICS he uses the skbuff
rx copybreak scheme which is not related to LVS if I read the kernel
code path correctly.
> cards? The effect is that LVS reports incoming or outgoing TCP checksum
> failures. For now, I'm not sure who to suspect, may be these drivers do
Increase the ringbuffer sizes. People having problems show maybe send in
a ``ip -s -s link show dev eth0''. Sometimes I could minimize IRQ over-
head by setting a higher tx queue lenght for the link:
``ip link set eth0 txqueuelen 500''. I don't know if this is honoured by
all NIC drivers, and I honestly haven't checked the code either.
> wrong checksum calcs not in the chip and report CHECKSUM_HW. We will
You mean in speedo_rx(): before skb queuing?
> see what Jeremy will report for the patch I sent him yesterday.
I'm curious, what patch? [gimme, gimme, gimme the patch :)] Is it based
on the vanilla kernel eepro100.c or the newest scyld driver (which is
completely different to the kernel one, as I can see now)
Hey, you can always set: skb->ip_summed = CHECKSUM_UNNECESSARY ;)
Cheers,
Roberto Nibali, ratz
--
mailto: `echo NrOatSz@xxxxxxxxx | sed 's/[NOSPAM]//g'`
|