Description
Advance TCP headers after sending a TCP packet. This function if good for:
- Sending a few small packets in rapid succession
- Sending large data chunk (>MSS) over multiple packets.
The sequence number is updated for each outgoing packet. When a packet has been
sent, the application must call onload_delegated_send_tcp_update()
to update packet headers with the payload length - thereby ensuring that the
sequence number is correct for the next send.
This function does not update the ACK number in outgoing packets. The ACK number
in successive outgoing packets is the value from the last call to the
onload_delegated_send_prepare()
function.
The advance function is used to send a small number of successive outgoing
packets, but the application should then call
onload_delegated_send_complete()
to return control to Onload to maintain sequence/acknowledgment number
integrity and allow Onload to remove sent data
from the retransmit queue.
Definition
void onload_delegated_send_tcp_advance (
struct onload_delegated_send*,
int bytes )
Formal Parameters
-
struct onload_delegated_send*
- See struct onload_delegated_send
-
bytes
- Number of bytes sent.
Return Value
None.
Notes
When sending a packet using multiple sends, the function is called to update the header data with the number of bytes after each send.
The actual data sent is not returned to Onload until the function onload_delegated_send_complete()
is called.