[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(usagi-users 02676) Echo Reply(1500Byte) is fragmented
- To: usagi-users@xxxxxxxxxxxxxx
- Subject: (usagi-users 02676) Echo Reply(1500Byte) is fragmented
- From: Hiroaki Kago <kago@xxxxxxxxxxxxxx>
- Date: Mon, 08 Dec 2003 15:09:15 +0900
- Reply-to: kago@xxxxxxxxxxxxxx
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
Hello,
In the USAGI snap usagi-linux24-s20031013, I am facing a problem.
When the 1500 bytes length echo request packet is received,
the echo reply packet is fragmented.
The MTU is 1500 bytes. The 1500 bytes length echo request packet
isn't fragmented. Only the echo reply is fragmented.
[root]# ping6 -c 1 -I eth0 -s 1452 fe80::230:5ff:fe4a:4fc3
<tcpdump>
-------------------------------------------------------------------------------
[root]# /sbin/tcpdump -i eth0
tcpdump: listening on eth0
14:29:20.449855 fe80::200:eff:fefd:1820 > fe80::230:5ff:fe4a:4fc3: icmp6: echo request
14:29:20.450459 fe80::230:5ff:fe4a:4fc3 > fe80::200:eff:fefd:1820: frag (0|1448) icmp6: echo reply
14:29:20.450465 fe80::230:5ff:fe4a:4fc3 > fe80::200:eff:fefd:1820: frag (1448|12)
3 packets received by filter
0 packets dropped by kernel
-------------------------------------------------------------------------------
I think that it is caused by ip6_fragmnet() which is called in
ip6_output(). Is the condition "skb->shinfo(skb)->frag_list"
necessary?
-------------------------------------------------------------------------------
net/ipv6/ip6_output.c
143 int ip6_output(struct sk_buff *skb)
144 {
145 if ((skb->len > dst_pmtu(skb->dst) || skb_shinfo(skb)->frag_list))
146 return ip6_fragment(skb, ip6_output2);
147 else
148 return ip6_output2(skb);
149 }
-------------------------------------------------------------------------------
Regards,
Hiroaki Kago