net/tcp(unbuffered): fixed an issue with tx_unacked overflow that occurred if NET_TCP_WINDOW_SCALE option was enabled.
If the remote TCP receiver advertised TCP window size greater than 64 KB and TCP ACK packets returned to the NuttX TCP sender with a significant delay, tx_unacked variable overflowed and further TCP send stalled forever (until TCP re-connection).
This commit is contained in:
parent
ab0f5f607d
commit
19dc121a4f
1 changed files with 2 additions and 1 deletions
|
|
@ -215,7 +215,8 @@ struct tcp_conn_s
|
|||
int32_t snd_bufs; /* Maximum amount of bytes queued in send */
|
||||
sem_t snd_sem; /* Semaphore signals send completion */
|
||||
#endif
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
#if defined(CONFIG_NET_TCP_WRITE_BUFFERS) || \
|
||||
defined(CONFIG_NET_TCP_WINDOW_SCALE)
|
||||
uint32_t tx_unacked; /* Number bytes sent but not yet ACKed */
|
||||
#else
|
||||
uint16_t tx_unacked; /* Number bytes sent but not yet ACKed */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue