zephyr/subsys
Florian Vaussard 5212659820 net: tcp: fix spurious TCP retries
Spurious TCP retries were observed using Wireshark while continuously
sending TCP packets at an interval faster than the initial RTO.

If the send list is empty and CONFIG_NET_TCP_TIME_WAIT_DELAY is used,
the retry timer will not be correctly stopped when receiving a valid
ACK. As a consequence, the timer might be running when a new packet is
queued, but the logics in net_tcp_queue_data() will not restart the
timer as it is already running. This will make the retry timer to expire
prematurely, potentially while sending packets.

The nested condition is merged into a single condition, allowing the
final else clause to be reached when a valid ACK is received.

Signed-off-by: Florian Vaussard <florian.vaussard@gmail.com>
2018-08-20 13:53:49 +03:00
..
app_memory Kconfig: Clean up some symbol definitions 2018-08-01 12:47:17 -04:00
bluetooth Bluetooth: controller: Fix assert on different transaction collision 2018-08-18 23:22:10 +02:00
console subsys: console: Refactor code to allow per-UART "tty" wrapper 2018-08-16 06:18:50 -07:00
cpp
debug
dfu Kconfig: Use a short, consistent style for prompts 2018-08-15 04:10:10 -07:00
disk
fs subsys: fs/nvs: Rewrite for improved robustness 2018-08-10 14:16:06 -07:00
logging Kconfig: Use a short, consistent style for prompts 2018-08-15 04:10:10 -07:00
mgmt subsys: mgmt: Fix broken OTA firmware update 2018-07-18 14:32:06 +02:00
net net: tcp: fix spurious TCP retries 2018-08-20 13:53:49 +03:00
random
settings cmake: settings: Don't add ext nffs include dir to global includes 2018-07-25 08:27:45 -04:00
shell shell: Add missing header 2018-08-02 19:14:19 +02:00
storage
usb irq: Fix irq_lock api usage 2018-08-16 19:47:41 -07:00
CMakeLists.txt userspace: compartmentalized app memory organization 2018-07-25 12:02:01 -07:00
Kconfig userspace: compartmentalized app memory organization 2018-07-25 12:02:01 -07:00