On Mon, Jun 04, 2007 at 12:32:49PM +0800, Wei Yongjun wrote: > > The latest kernel 2.6.21.3 also doing so. The rule to send ICMP message > limit this. > Ref to net/ipv4/icmp.c > line 433 void icmp_send(struct sk_buff *skb_in, int type, int code, > __be32 info) > line 434 { > ... > line 572 /* RFC says return as much as we can without exceeding 576 > bytes. */ > line 573 > line 574 room = dst_mtu(&rt->u.dst); > line 575 if (room > 576) > line 576 room = 576; > line 577 room -= sizeof(struct iphdr) + icmp_param.replyopts.optlen; > line 578 room -= sizeof(struct icmphdr); > line 579 > line 560 icmp_param.data_len = skb_in->len - icmp_param.offset; > line 561 if (icmp_param.data_len > room) > line 562 icmp_param.data_len = room; > line 563 icmp_param.head_len = sizeof(struct icmphdr); > > line 576 do this.
But this is not the old_mtu field that we were talking about. The old_mtu field comes from iph->tot_len which is the length of field in the *original* IP header. We're certainly not allowed touch that field. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html