lwIP / TCP tx'd pbuf ACK'd?
Hello,
I have to admit that this is more a question concerning lwIP, but as I'm using a STM32F7...
And the search engines haven't helped yet.
I need to transmit TCP packets quickly, without waiting for TCP's ACK.
Payload for these packets come from an array of DMA buffers (sourced by SAI) which I might need for other interfaces, like USB output, not at the same time though.
Each of these buffers is given a state, like FREE, WRITING, TRANSMITTING, WAIT_ACK.
So I give a buffer to lwIP with tcp_write() (building its own pbuf) and call tcp_output() immediately.
Most examples I found also set the tcp_sent callback, and only continue transmitting after the latest data has been ACK'd by the receiver. I have no time for that, wireshark showed me that ACK can take a few milli seconds - too long.
I've been through lwIP's TCP functions, but I cannot find how to pass back the info from lwIP which pbuf / data was recently ACK'd to free the DMA buffers.
tcp_sent() length does not help, because all DMA buffers are the same size.
Any hints or ideas?
I hope there's something I have not yet understood or have overseen.
I could start fiddling within the lwIP functions, but I hope there's a more elegant way.
PS: otherwise zero-copy TX ethernet is working, as is http, PTP
