[ECOS] max IP packet size = 9216 B. Why?

Jürgen Lambrecht jurgen.lambrecht2@telenet.be
Tue Jun 12 22:46:00 GMT 2007


Andrew Lunn wrote:
> On Tue, Jun 12, 2007 at 05:49:30PM +0200, J?rgen Lambrecht wrote:
>   
>> Hello,
>>
>> I found out that the maximum IP packet size = 9216 B (0x2400).
>> I implemented an echo program, both udp and tcp.
>> My ecos applic can receive more that 9216B, but not send back more than 
>> that.
>>
>> Has anybody a clue how to solve this?
>> I need to support the maximum IP packet size of 65535 B (IP_MAXPACKET).
>>     
>
> Interesting. What network technology do you have underneath
> this. Something reliable i presume since even small packet error rates
> are going to cause big delay and inefficiencies with retries.
>   
Don't tell me! Our customer is very stubborn.. Because the maximum size 
of an IP packet is 64KB, their suppliers (us) _must_ support it. We must 
support IP.
>   
>> I don't know if this is a bug in ecos, or a (hidden?) limitation of an 
>> embedded OS.
>>     
>
> I don't know of anybody else using nearly jumbo packets. So you might
> be running into bugs, or configuration tweaks might be needed.
>   
It has nothing to do with Ethernet Jumbo frames. We use the standart 
Ethernet MTU 1518B. The IP layer is responsible of fragmenting the IP 
packets to fit the MAC's layer MTU.
>   
>> I'm busy tracing this back in the source
>> This comes from the socket that is allocated statically in 
>> /io/fileio/.../fd.cxx and socket is part of a cyg_file (cyg_file is 
>> defined by file in file.h). In cyg_file there is a member f_data, which 
>> is the socket.
>> I'm continuing my search in the code at this point....
>>     
>
> Do you get a crash, or does write/sendto return an error code?
>   
sendto returns the error code 322 or EMSGSIZE "Message too long".
I forgot to tell that's because the high water level of the send socket 
(o->so_snd.sb_hiwat) is 9216 B (=0x2400) (in file 
bsd_tcpip/current/src/sys/kern/uipc_socket.c:523).

I will try to increase the socket's high water level (after I have found 
where it is set ;-).

Kind regards,
Juergen
>    Andrew
>
>
>   



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list