Forum Discussion
Thanks for the information. But...
This happens most quickly doing UDP, by the way. There would be no number of buffers that would solve this problem (we currently use 64 rx descriptors, and I've tried 256 with the same results). We can send packets into the system much faster than we can process them. And, this is bare metal, not Linux (but it happens with Linux, too.)
It's normal that once buffers are exhausted, that sometimes a packet will get stuck, forever, in the DMA engine? That's what I see. It's not always when all descriptors are filled, but sometimes. And there being no way to flush it seems crazy... But the DFF bit seems to fix it, but what does that really do? It's not clear what the difference is regarding how the DMA engine works and if there is no downside to having this bit set, why would that not be the default?
Thanks!