Fragmented UDP packet problems
Posted: Thu Feb 05, 2009 4:20 am
I am developing an application using Netburner Mod-5272s for a private vehicle network. The network uses a custom message protocol built on UDP protocol.
During initial connection with the Network (and subsequent vehicle configuration changes) a custom server provides DHCP info and a vehicle directory service (extended DNS basically).
To get the initial directory service, the Netburner application makes a request, then processes the response. The response is typically a fragmented UDP packet on the order of 1500-4500 bytes.
To get this scheme working in simulation, I needed to enable UDP packet fragmentation and rebuild the system files. Everything seems to work as expected in a simulated environment.
Unfortunately, once on the vehicle, the Netburner modules don't want to accept the fragmented UDP packets. A wireshark trace shows that
they are getting to the Netburner. Checking message counts on the Netburner module shows an increase in the "fragment" count, but they
are never received by the task processing UDP messages.
This works in a simulated environment with the same messages, and it also works if the UDP packet is small enough not to be fragmented.
I am using NDK 2.3RC3 (did not work withh NDK 2.3RC2 either).
Any help or guidance would be appreciated.
Thanks,
Doug
During initial connection with the Network (and subsequent vehicle configuration changes) a custom server provides DHCP info and a vehicle directory service (extended DNS basically).
To get the initial directory service, the Netburner application makes a request, then processes the response. The response is typically a fragmented UDP packet on the order of 1500-4500 bytes.
To get this scheme working in simulation, I needed to enable UDP packet fragmentation and rebuild the system files. Everything seems to work as expected in a simulated environment.
Unfortunately, once on the vehicle, the Netburner modules don't want to accept the fragmented UDP packets. A wireshark trace shows that
they are getting to the Netburner. Checking message counts on the Netburner module shows an increase in the "fragment" count, but they
are never received by the task processing UDP messages.
This works in a simulated environment with the same messages, and it also works if the UDP packet is small enough not to be fragmented.
I am using NDK 2.3RC3 (did not work withh NDK 2.3RC2 either).
Any help or guidance would be appreciated.
Thanks,
Doug