zephyr/subsys/net/ip
Sjors Hettinga c668199b5d net: tcp: Correctly determine when the TCP transmit window is full
In the stack both unacked_len and send_data_total track the amount
of data for retransmission. send_data_total actually accounts the
total bytes in the buffer, where unacked_len is used to control the
retransmission progress.

Using unacked_len is sometimes reset to 0, this can lead to more data
being allowd in the send_data buffer. In worse case this can cause
depletion of the net buffers, causing a stall and crash of the connection.

The value send_data_total actually accounts the total amount of data in
the send_data buffer, so it is the proper value to used in the
tcp_window_full function.

Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
2022-05-20 19:24:26 -07:00
..
6lo_private.h
6lo.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
6lo.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
canbus_socket.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
canbus_socket.h
CMakeLists.txt net/tcp: Rename TCP2 to TCP 2021-11-11 07:26:41 -05:00
connection.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
connection.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
dhcpv4.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
dhcpv4.h
icmpv4.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
icmpv4.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
icmpv6.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
icmpv6.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
igmp.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv4_autoconf_internal.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv4_autoconf.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv4.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv4.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6_fragment.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6_mld.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6_nbr.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
Kconfig net: tcp: Remove unused config NET_TCP_BACKLOG_SIZE 2022-05-13 13:04:59 +02:00
Kconfig.debug kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.ipv4 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.ipv6 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.mgmt kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.stack
Kconfig.stats
nbr.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
nbr.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_context.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_core.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_if.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_mgmt.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_pkt.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_private.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_shell.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_shell.h
net_stats.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_stats.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_tc_mapping.h
net_tc.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_timeout.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
packet_socket.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
packet_socket.h
promiscuous.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
route.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
route.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
tcp_internal.h net: tcp: Add semaphore indicating if transfer is possible 2022-05-18 11:09:17 +02:00
tcp_private.h net: tcp: Implement persistent timer for sending ZWP 2022-05-18 11:09:17 +02:00
tcp.c net: tcp: Correctly determine when the TCP transmit window is full 2022-05-20 19:24:26 -07:00
tcp.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
tp_priv.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
tp.c
tp.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
trickle.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
udp_internal.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
udp.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
utils.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00