Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Sep 1998 12:50:40 +0200
From:      Stefan Bethke <stefan.bethke@hanse.de>
To:        Bill Paul <wpaul@skynet.ctr.columbia.edu>
Cc:        freebsd-net@FreeBSD.ORG, wollman@FreeBSD.ORG
Subject:   Re: Strange behavior with ARP and IP fragmentation
Message-ID:  <606633.3115457440@d254.promo.de>
In-Reply-To: <199809220231.WAA25016@skynet.ctr.columbia.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 21. Sep 1998 22:31 Uhr -0400 Bill Paul
<wpaul@skynet.ctr.columbia.edu> wrote:

> One thing I do a lot is this:
> 
> # ifconfig <interface> 10.0.0.2 netmask 0xffffff00 up
> # ping -c 1 -s 4096 10.0.0.1
> 
> 10.0.0.1 is another machine attached to the interface under test using
> a crossover cable. I run tcpdump on this host to monitor traffic from
> the first machine so I can see what the NIC is sending. Assuming the
> system has just been booted, the 10.0.0.2 host will not yet have an
> ARP entry for the 10.0.0.1 host, so the sequence should go something
> like this:
[...]
> What I observed is that the ARP request and ARP reply proceed as expected,
> but the first portion of the ICMP packet transmitted is in fact the last
> fragment. The first two fragments have been vanished into the void. Since 
> the ICMP echo request is contained in the first fragment, the host on the 
> other side discards the fragment and never sends a reply. The result is 
> that 'ping -c 1 -s 4096 10.0.0.1' just sits there and no reply is ever 
> received.
[...]

This is intended. See Stevens Vol. II on ARP, and the definition of struct
llinfo_arp and arpresolve() in netinet/if_ether.c. Only the last packet is
held, which in your case is the last fragment.

I don't quite remember why this is right. I'll look it up again tonite.


Stefan

--
Mühlendamm 12           |  Voice +49-40-256848, +49-177-3504009
D-22089 Hamburg         |  e-mail: stefan.bethke@hanse.de
Germany                 |          stb@freebsd.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?606633.3115457440>