Re: [lvs-users] How to make LVS Direct Route work for UDP programs?

To: Roger Littin <roger@xxxxxxxxxxxxx>
Subject: Re: [lvs-users] How to make LVS Direct Route work for UDP programs?
Cc: " users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Thu, 24 Nov 2011 09:09:47 +0900
On Thu, Nov 24, 2011 at 11:16:10AM +1300, Roger Littin wrote:
> Hi Wang,
> I have had similar problems where the director thinks the packet size is 
> larger than mtu of the real
> server and sends back this message.  Do you see anything in wireshark to 
> indicate this.  Overly
> large udp packet size?
> I think when the network layer hands off the packet to lvs, it may have 
> already reassembled any
> fragments and then when lvs hands it back to the network layer, it is 
> rejected because it is too
> large.

Hi Roger,

if you are seeing that problem then I suggest turning off
both GRO and LRO on the interface on the director that receives
the packets.

# ethtool -k eth0 | egrep '(receive-offload)'
generic-receive-offload: on
large-receive-offload: on

# ethtool -K eth0 lro off
# ethtool -K eth0 gro off

# ethtool -k eth0 | egrep '(receive-offload)'
generic-receive-offload: off
large-receive-offload: off

IPVS may be used in conjunction with GRO since 2.6.39,
so it should not be necessary to disable GRO if
a 2.6.39 is used.

IPVS is not compatible with LRO as of 3.1 (or 3.2, when it is released)

LRO is specific to TCP.
GRO affects both TCP and UDP (and other protocols IIRC).

Please read the documentation before posting - it's available at: mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to

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