We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The RL-ARM 3.40 TCP/IP stack TCPnet crashes with a BIG ping;
ping -t -l 1500 10.10.10.173
Crashes my MCB2300 board with TCPnet from RL-ARM 3.40. Is this a ping of death example? How can I fix this?
I don't think TCPnet supports packet fragmentation.
With Ethernet, the maximum packet payload would be 1472. If you include overheads, that takes you to 1514 which is the maximum Ethernet packet size.
As for crashing ... It works with STR9.
Fragmentation or maximum payloads are not the problem... A remote board crash with the BIG ping is a problem because this way someone can easy crash my board with a simple ping on the network :-(
All I'm saying is that your ping request of 1500 bytes is actually NOT transmitting a single packet of 1500 data bytes.
When using 10/100Mb Ethernet, it will be sent as two, because fragmentation will be required.
Does a ping with 1472 bytes work (i.e., the maximum before fragmentation would occur)?
Does a ping with 1473 bytes cause a crash?
I think tou will have to check for problems or updates with the network driver module (as supplied in source).
It depends on the memory pool size. When this pool size is the default 8000, a ping with 1472 bytes works, but 1473 gives no reaction. But the board doesn't crash :-) When I lower the memory pool size to the minimum 1500 a ping with 1000 bytes 'hangs' the TCP/IP stack (no reaction anymore). The complete board crash was caused by a bug in my tcp_send routine... (I used my own buffer).
Thanks