I started discussing this on another forum but probably belongs over here where possibly can get more input:
http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/146647.aspx
Short of it is I am implementing the EtherCAT Master Protocol on the C6748 and encountered a problem where after 10's of thousands of raw packet transactions one packet fails to transmit even though all status says it did. Slave does not see it nor does Wireshark. I've rebuilt the driver and added diagnostic code where I traced the packet through the NDK and have verified the packet was put in the EMAC descriptor list for transmission, just never makes it on the wire. My guess is there is some sort of race condition given it takes a while to occur. There are no other devices on the network other than a single slave and a PC with Wireshark and its TCP stack removed on the NIC.
One thing that is different about EtherCAT is the packet you send from a Master is immediately re-transmitted by slave fpga hardware, thus much faster turnaround time than any echo test would do. Given the test is a simple Transmit/Response sequence repeated over and over again (with the same packet broadcast) until failure it is easy to recreate, takes 2 to 4 minutes of traffic with a test sequence every 5 ms, thus transmitter should be empty each time but my guess is we are still in the TX Service interrupt each time the receive packet occurs. At this point have never dropped an RX packet.
Kev