This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: max IP packet size = 9216 B. Why?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]