-current on BeableBone successful
George Neville-Neil
gnn at neville-neil.com
Wed Sep 12 02:13:55 UTC 2012
On Sep 10, 2012, at 02:45 , John-Mark Gurney <jmg at 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
More information about the freebsd-arm
mailing list