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
UDP datagrams dropped when size>1472 bytes (TI NDK)
Started by ●October 21, 2005
Reply by ●December 5, 20052005-12-05
>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 stackto>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??
Reply by ●June 9, 20082008-06-09
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 wayto>>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. Thistranslates>into 1472 bytes of payload. The error message one gets is EMSGSIZEmeaning>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?? > > > > >