Hello Julian,
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?
The windows client? Could I see a windump of the windows client
receiving those ICMP messages?
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?
According to ipv4/ipip.c and ipv4/ip_gre.c it should be correct, so
there is no need to re-adjust csum. Then again I'm no expert with tunneling.
Can that be the problem?
I don't know. Could you send me those tcpdumps you have along, please?
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);
I don't think fast_csum is needed, maybe a ip_rt_dump() could help
what's wrong? Is ptmu enabled on his director?
icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu));
ip_rt_put(rt);
Stupid question: I always wonder if ip_rt_put(rt) should not be before
the icmp_send or is this only in the NAT case?
IP_VS_DBG_RL("ip_vs_tunnel_xmit(): frag needed\n");
Does he see those messages when he turns on debug?
Best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
|