LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Problems with IPVS

To: Mindaugas <mind@xxxxx>
Subject: Re: Problems with IPVS
Cc: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Mon, 20 Nov 2006 15:29:51 +0100
Any they should, since SE is gaining momentum on the market. For some reason vodafone is busier figuring out how their SOA portfolio should look like for their potential customers than to actually address unimportant things like a buggy TCP stack. Either we find out directly what's wrong with those phones or we try to find an elegant solution for LVS, without breaking it for all the other people. The immediate fix I have in mind is too intrusive and severely lacks security, so we have to think about it a bit.

 I found the problem!

Congratulations!

By solving another problem it appeared that new Sony Ericsson phones cannot
reconstruct fragmented packets!

This is sad.

Our IPVS director host communicates with phones via GRE tunnel with MTU 1476. So when full size packet arrives, director chops it into two fragments sends
them to phone and SE phones goes crazy.

Can you do some more tests to verify this 100%? If this is the case, I'll might get my August phone bill canceled, since I can claim that I had a high re-transmission rate and connection lookup which caused the huge amount of transferred bytes over edge yielding those costs which had nothing to do with my field tests :).

 To resolve it I had to add one more hack:

iptables -A INPUT -p tcp -m mark --mark 0x1 -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss ! 0:1430 -j TCPMSS --set-mss 1430

Why don't you add this to your routing table 100?

ip route change default via $dgw dev $intf mtu 1430 table 100

Like this only GRE will be forced to a lower mtu and not the whole machine.

Now I'm changing MSS to 1430 from default 1460 and TCP/IP packets arrives less
than 1476 bytes (tunnel interface MTU).

Best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc

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