LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [LVS - NAT] alternatives

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [LVS - NAT] alternatives
From: Roberto Nibali <ratz@xxxxxx>
Date: Wed, 12 Sep 2001 09:21:56 +0200
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'`


<Prev in Thread] Current Thread [Next in Thread>