Tool/software:
This is not so much a question as it is hopefully helpfull information for anyone who might experience the same issue.
Running PDK_C665x_2_0_14 on a custom C6657 board. We had an issue when having high transmit ethernet traffic where packets would suddenly stop being transmitted. After much debugging in the stack I narrowed down the issue to emacEnqueueTx() in ti\drv\emac\src\v0\emac.c.
The function emacEnqueueTx() can be called from two sources, the end of emacDequeueTx() and EMAC_sendPacket(), both in emac.c. emacDequeueTx() is only called from the interrupt when the previous packet transmission has completed. EMAC_sendPacket() is called through the stack when the application wants to send a packet. I believe this creates a potential conflict the the packet descriptor queuing if the interrupt occurs when emacEnqueueTx() is already executing. My solution, although arguably heavy handed, was to disable interrupts via HwiP_disable() in the emacEnqueueTx() function. This fixed the issue we were having.
I did check to see if PDK_C665x_2_0_16 might have addressed this issue but it did not appear to have any relevant changes in this area.
Hope this might help anyone with a similar issue.