DSPRelated.com
Forums

UDP datagrams dropped when size>1472 bytes (TI NDK)

Started by petto October 21, 2005
I am using the TI Network Developer's Kit for a TI C64xx DSP board, and
experience some problems with sending UDP datagrams.

When the size of the datagram exceeds 1472 bytes, I expect the IP stack to
fragment the datagram into two packets, but it does not. Instead the
sendto() function fails and returns error code EMSGSIZE.

Is the DONTFRAG flag set as default for UDP datagrams? Is there a way to
access this flag?

Regards
Petter


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
>I am using the TI Network Developer's Kit for a TI C64xx DSP board, and >experience some problems with sending UDP datagrams. > >When the size of the datagram exceeds 1472 bytes, I expect the IP stack
to
>fragment the datagram into two packets, but it does not. Instead the >sendto() function fails and returns error code EMSGSIZE. > >Is the DONTFRAG flag set as default for UDP datagrams? Is there a way to >access this flag? > >Regards >Petter > > > >This message was sent using the Comp.DSP web interface on >www.DSPRelated.com >
Hi, In TI's IP stack implementation, maximum UDP datagram for send operation is set to 1500 bytes including IP header and UDP headers. This translates into 1472 bytes of payload. The error message one gets is EMSGSIZE meaning that the driver is unable to accomodate larger UDP packets. I don't know any way of mitigating this problem. Strangely, maximum size of a UDP receive packet seems to be around 3000 bytes??
Dear Petter,

I am not sure if you are still having this issue, but NDK does not
automatically fragments packets for you. 

With regards to the 1472-byte limitation, this will be solved by the new
NDK release 1.94 (this feature is broken in 1.93).

For additional questions and solutions please visit the NDK page at the
tiexpressdsp twiki:

http://tiexpressdsp.com/wiki/index.php?title=Network_Developers_Kit_FAQ

Regards,
Rafael


>>I am using the TI Network Developer's Kit for a TI C64xx DSP board, and >>experience some problems with sending UDP datagrams. >> >>When the size of the datagram exceeds 1472 bytes, I expect the IP stack >to >>fragment the datagram into two packets, but it does not. Instead the >>sendto() function fails and returns error code EMSGSIZE. >> >>Is the DONTFRAG flag set as default for UDP datagrams? Is there a way
to
>>access this flag? >> >>Regards >>Petter >> >> >> >>This message was sent using the Comp.DSP web interface on >>www.DSPRelated.com >> >Hi, > >In TI's IP stack implementation, maximum UDP datagram for send operation >is set to 1500 bytes including IP header and UDP headers. This
translates
>into 1472 bytes of payload. The error message one gets is EMSGSIZE
meaning
>that the driver is unable to accomodate larger UDP packets. I don't know >any way of mitigating this problem. > >Strangely, maximum size of a UDP receive packet seems to be around 3000 >bytes?? > > > > >