LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: LVS/TUN MTU problem, missing hints in documentation

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: LVS/TUN MTU problem, missing hints in documentation
From: Joseph Mack NA3T <jmack@xxxxxxxx>
Date: Thu, 7 Dec 2006 14:13:18 -0800 (PST)
On Thu, 7 Dec 2006, jarol1@xxxxxxxxx wrote:

Today I ran into problem of MTU in LVS/Tunneling.

Small packets were forwarded to real servers without problems, but the bigger ones weren't and TCP retransmissions occurred. I noticed the problem dissapeared when I switched to LVS/DR so this gave me hint to where the problem might be. MTU 1480 had to be set on the outgoing interface of realservers with tunl0 having standard 1500. Directors have 1500 on all interfaces. This way TCP syn ack contained correct MTU and client didn't send big packets that were discarded on director anymore. IP header is 20 bytes long so 1480 is the maximum value that works.

It isn't mentioned in documentation that this problem will occur if tunneling is used

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.LVS-Tun.html#MTU

This was a hard problem to figure out and solve. People worked on this for about 2yrs before finding a satisfactory solution. The problem is that the ipip code in Linux doesn't handle fragmentation (or handle it properly).

You did well to come up with a solution in one go.

Joe

--
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!

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