TivaC NDK TCP: Can't receive large packets (>=1460 bytes)
Setup:
- CCS6.0
- tirtos_tivac_2_10_01_38 (ndk_2_24_01_18)
- TivaWare_C_Series-2.1.0.12573
- Tcp.transmitBufSize = 1024;
- Tcp.receiveBufSize = 10240;
For other configuration, please see the attached picture or .cfg file.
The other side of the connection is Windows 7 or Windows 2008 Server.
When the peer sends large packets, it will split them into smaller packets of size 1460 (the reason I think is that the MSS is 1460). However, TivaC can't receive it. It seems that it drops it completely. For windows XP, it seems that it will split the packet into evern smaller (536 bytes), and then transmission will succeed.
I can modify Tcp.receiveBufSize to 1024 (as in the Tcp Echo example), and the max packet size will be 1024, and transmission could also succeed. But I think this will reduce the performance.
Any idea to solve this? Is there any mistaks in my configuration?
Thank you so much.