Hello,
On Sat, 15 Feb 2003, Roberto Nibali wrote:
> I'd say MTU problem, but we need some tcpdump output of one single
> request stream. This should ideally be:
Jacob provided me with tcpdump on the director. It shows
that director replies with ICMP but now the question is whether
these ICMP messages are dropped in client (it is known they are
received there), may be they have bad csum?
ip_vs_tunnel_xmit(and friends) calls 'ip_send_check(old_iph);'
after the ICMP_FRAG_NEEDED is generated. The new datagram
will have correct iphdr sum but what about the embedded iphdr?
Can that be the problem?
diff -ur ipvs-1.0.7-orig/ipvs/ip_vs_conn.c ipvs-1.0.7/ipvs/ip_vs_conn.c
--- ipvs-1.0.7-orig/ipvs/ip_vs_conn.c 2002-11-14 12:05:23.000000000 +0200
+++ ipvs-1.0.7/ipvs/ip_vs_conn.c 2003-02-15 14:54:30.000000000 +0200
@@ -882,6 +882,7 @@
if ((old_iph->frag_off&__constant_htons(IP_DF))
&& mtu < ntohs(old_iph->tot_len)) {
+ ip_send_check(old_iph);
icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu));
ip_rt_put(rt);
IP_VS_DBG_RL("ip_vs_tunnel_xmit(): frag needed\n");
> Cheers,
> Roberto Nibali, ratz
Regards
--
Julian Anastasov <ja@xxxxxx>
|