This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6655/57 EMAC does not accept ethernet packets larger than 1510 bytes -- possible NIMU/Emac Driver bug?



Hello World and TI People,
I am troubleshooting an unusual problem with TI C6655 and C6657 processors and Ethernet.  I do not know if other processors are affected, but these are the two that I have access to and experimented.
It appears that this problem was first documented here:  http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/257774, but was never resolved to the poster's satisfaction.

Here is the problem:
It appears that the two processors above do not accept Ethernet packets greater than 1510 bytes.
I have verified that this problem is present on 6657 using TI 6657 EVM Lite board (TMDSEVM6657LS).  I used CCSV6 to build a simple UDP echo server, which is part of the NDK distribution.  Here is the list of tools:
CCS 6.1
XDC Tools version 3.25.06.96
BIOS version 6.37.04.32
MCSDK version 2.01.02.06
PDK version C6657.1.1.2.6
NDK version 2.24.02.31 and 2.24.03.35

The windows UDP client is the one that came with the NDK, I did not have to recompile it.  It is very simple -- it emits UDP packets of variable size, counting from one to the maximum, filling in the Ethernet frame all the way up to 1514 bytes.... or so we hope.
In reality, the C6655/6657 EVM stops accepting Ethernet packets when they get larger than 1510 bytes.
Again, the problem is very easy to see, since it can be demonstrated with the stock 6657 EVM and the udp echo server example already available in the NDK and the PDK.
This issue may also lead to other problems.  When using TCP, this problem appears as if the EVM misreports the MSS value shipped in the SYN ACK packet when the connection is established.  Here is an example of how this problem might manifest itself during TCP connections:
As you can see, the sending computer (PC, in this case) tries to send packets of size 1514 bytes, but when they are ignored by the DSP, downshifts to 590 bytes.
I have since traced the issue to the setting in nimu_eth.h that was shipped with the PDK.  I bumped the NIMU_EMAC_PKT_SIZE to 1518, which I believe, includes the FCS, and that appeared to have fixed the problem.
I am looking to hear opinions from the experts as to whether this is a correct fix for this particular problem.
Thank you in advance,
Dmitry.