Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Sep 2012 22:13:53 -0400
From:      George Neville-Neil <gnn@neville-neil.com>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        freebsd-arm@FreeBSD.org, Tim Kientzle <kientzle@FreeBSD.org>
Subject:   Re: -current on BeableBone successful
Message-ID:  <D3516FBB-4617-4C6B-A805-B50E7CC88154@neville-neil.com>
In-Reply-To: <20120910064532.GP58312@funkthat.com>
References:  <20120910014813.GL58312@funkthat.com> <4448530B-7916-4642-BD32-6A96AD5DB22B@FreeBSD.org> <20120910064532.GP58312@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sep 10, 2012, at 02:45 , John-Mark Gurney <jmg@funkthat.com> wrote:

> Tim Kientzle wrote this message on Sun, Sep 09, 2012 at 20:16 -0700:
>>> Third is that I get this error:
>>> ip length 328 disagrees with bytes received 330.
>>> accepting packet with data after udp payload.
>>> 
>>> This appeard to be from sbin/dhclient/packet.c...  Not sure exactly why
>>> we are returning a large packet to userland?
>> 
>> I haven't seen this one.
> 
> Looks like this is a BeagleBone issue.  I haven't tracked it down, but
> I did a tcpdump on the server (my other arm board), and the packet has
> the correct length of 342 bytes to match the 328 ip length (plus 14
> bytes of ethernet header)...  tcpdump on the BeagleBone receives a
> 344 byte frame with a couple of stray bytes at the end of the frame...
> 
> Could this be an miscalculation when we are copying around the frame
> to deal the fact our IP stack can't deal w/ misaligned headers?  Just
> a thought..
> 
> Hmm...  Just ran some experiments... 
> 
> ping -s		sent	received
> 1		0x2b	0x3e
> 10		0x34	0x3e
> 18		0x3c	0x3e
> 19		0x3d	0x3f
> 20		0x3e	0x40
> 21		0x3f	0x41
> 99		0x8d	0x8f
> 100		0x8e	0x90
> 101		0x8f	0x91
> 999		0x411	0x413
> 1000		0x412	0x414
> 1001		0x413	0x415
> 
> and 0x3e is 62, which is two short of the min frame length of 64...
> 
> Hope this helps.

My take is the following.  The minimum packet is 60, not including
the preamble or the CRC, so with a CRC it's 64.  It might be that
there is some alignment issue as well.

The difference between all the sent/received is 2 bytes and that's consistent
so either something isn't being stripped or there is an alignment issue
all the way round.

Best,
George




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D3516FBB-4617-4C6B-A805-B50E7CC88154>