icmp packets on em larger than 1472 [SEC=UNCLASSIFIED]
Kevin Oberman
oberman at es.net
Thu Nov 11 05:27:00 UTC 2010
> Date: Thu, 11 Nov 2010 13:01:26 +0800
> From: "Wilkinson, Alex" <alex.wilkinson at dsto.defence.gov.au>
> Sender: owner-freebsd-stable at freebsd.org
>
>
> 0n Wed, Nov 10, 2010 at 04:21:12AM -0800, Kirill Yelizarov wrote:
>
> >All my em cards running 8.1 stable don't reply to icmp echo requests packets larger than 1472 bytes.
> >
> >On stable 7.2 the same hardware works as expected:
> ># ping -s 1500 192.168.64.99
> >PING 192.168.64.99 (192.168.64.99): 1500 data bytes
> >1508 bytes from 192.168.64.99: icmp_seq=0 ttl=63 time=1.249 ms
> >1508 bytes from 192.168.64.99: icmp_seq=1 ttl=63 time=1.158 ms
> >
> >Here is the dump on em interface
> >15:06:31.452043 IP 192.168.66.65 > *****: ICMP echo request, id 28729, seq 5, length 1480
> >15:06:31.452047 IP 192.168.66.65 > ****: icmp
> >15:06:31.452069 IP **** > 192.168.66.65: ICMP echo reply, id 28729, seq 5, length 1480
> >15:06:31.452071 IP *** > 192.168.66.65: icmp
> >
> >Same ping from same source (it's a 8.1 stable with fxp interface) to em card running 8.1 stable
> >#pciconf -lv
> >em0 at pci0:3:4:0: class=0x020000 card=0x10798086 chip=0x10798086 rev=0x03 hdr=0x00
> > vendor = 'Intel Corporation'
> > device = 'Dual Port Gigabit Ethernet Controller (82546EB)'
> > class = network
> > subclass = ethernet
> >
> ># ping -s 1472 192.168.64.200
> >PING 192.168.64.200 (192.168.64.200): 1472 data bytes
> >1480 bytes from 192.168.64.200: icmp_seq=0 ttl=63 time=0.848 ms
> >^C
> >
> ># ping -s 1473 192.168.64.200
> >PING 192.168.64.200 (192.168.64.200): 1473 data bytes
> >^C
> >--- 192.168.64.200 ping statistics ---
> >4 packets transmitted, 0 packets received, 100.0% packet loss
>
> works fine for me:
>
> FreeBSD 8.1-STABLE #0 r213395
>
> em0 at pci0:0:25:0:class=0x020000 card=0x3035103c chip=0x10de8086 rev=0x02 hdr=0x00
> vendor = 'Intel Corporation'
> device = 'Intel Gigabit network connection (82567LM-3 )'
> class = network
> subclass = ethernet
>
> #ping -s 1473 host
> PING host(192.168.1.1): 1473 data bytes
> 1481 bytes from 192.168.1.1: icmp_seq=0 ttl=253 time=31.506 ms
> 1481 bytes from 192.168.1.1: icmp_seq=1 ttl=253 time=31.493 ms
> 1481 bytes from 192.168.1.1: icmp_seq=2 ttl=253 time=31.550 ms
> ^C
The reason the '-s 1500' worked was that the packets were fragmented. If
I add the '-D' option, '-s 1473' fails on v7 and v8. Are the V8 systems
where you see if failing without the '-D' on the same network segment?
If not, it is likely that an intervening device is refusing to fragment
the packet. (Some routers deliberately don't fragment ICMP Echos Request
packets.)
--
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751
More information about the freebsd-stable
mailing list