Skip to content

Commit 6e7756a

Browse files
shrek-wangkartben
authored andcommitted
net: tcp: Change SYN FIN to use send_data_timer
The send_queue was used as SYN/FIN packet retransmission. Before the SYN/FIN being ACKed and dequeue-ed, the following packets in the send_queue cannot be sent out. That's why Zephyr had to send a FIN+ACK instead of a duplicated ACK-only in FINWAIT1, CLOSING. In fact, we can take SYN/FIN as kind of data and use the same send_data_timer for retransmission, like other OSes do. This way, the send_queue is simply used for local traffics. Benefits (in theory): 1. The code is easier, 2. TxPkt performance is better after skipping enq/deq send_queue, 3. The struct tcp{} node is a few bytes smaller, saving memory. Signed-off-by: Shrek Wang <inet_eman@outlook.com>
1 parent 31fe708 commit 6e7756a

File tree

4 files changed

+96
-200
lines changed

4 files changed

+96
-200
lines changed

0 commit comments

Comments
 (0)