zephyr/subsys/net/ip
Robert Lubos 0088aaefa0 net: tcp: Do not accept new data in retransmission mode
When TCP stack enters retransmission mode, the variable tracking the
amount of unacknowledged data is cleared. This prevents the stack from
detecting when TX window is full, which could lead to queueing unlimited
amount of data, effectively consuming all of the avaiable network
buffers.

Prevent this, by returning early from net_tcp_queue_data() in case TCP
stack is in retransmission mode. The socket layer will take care of
retrying just as in case the window is full.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
..
6lo_private.h
6lo.c net: icmpv6: Remove in6_addr from packed structs 2021-11-25 10:46:35 -05:00
6lo.h
canbus_socket.c
canbus_socket.h
CMakeLists.txt
connection.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
connection.h
dhcpv4.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
dhcpv4.h
icmpv4.c net/icmpv4: Do not send error on a packet that was broadcasted 2021-12-21 17:12:33 +01:00
icmpv4.h
icmpv6.c net: ipv6: Remove in6_addr from packed net_ipv6_hdr struct 2021-11-25 10:46:35 -05:00
icmpv6.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
igmp.c net: ipv4: Remove in_addr from packed net_ipv4_hdr struct 2021-11-25 10:46:35 -05:00
ipv4_autoconf_internal.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
ipv4_autoconf.c net: arp: Remove in_addr/in6_addr from packed net_arp_hdr struct 2021-11-25 10:46:35 -05:00
ipv4.c net: ipv4: Remove in_addr from packed net_ipv4_hdr struct 2021-11-25 10:46:35 -05:00
ipv4.h
ipv6_fragment.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
ipv6_mld.c net: icmpv6: Remove in6_addr from packed structs 2021-11-25 10:46:35 -05:00
ipv6_nbr.c net: route: Add support for route preference 2021-12-20 17:44:28 +01:00
ipv6.c net: route: Add support for route preference 2021-12-20 17:44:28 +01:00
ipv6.h
Kconfig everywhere: fix typos 2022-03-18 13:24:08 -04: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
nbr.h
net_context.c
net_core.c net: introduce a network packet filter framework 2021-12-21 17:06:35 +01:00
net_if.c sys: util: Change return type of ARRAY_SIZE to size_t 2022-03-23 14:09:23 +01:00
net_mgmt.c net: mgmt: Use mutex for net_mgmt_lock 2022-01-22 16:56:09 -05:00
net_pkt.c net: pkt: Add net_pkt_rx_clone() function 2022-03-30 11:08:22 +02:00
net_private.h
net_shell.c net: shell: Fix packet leak in TCP receive handler 2022-03-11 09:21:51 +01:00
net_shell.h
net_stats.c
net_stats.h
net_tc_mapping.h
net_tc.c all: Deprecate UTIL_LISTIFY and replace with LISTIFY 2022-03-08 11:03:30 +01:00
net_timeout.c
packet_socket.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
packet_socket.h
promiscuous.c
route.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
route.h net: route: Add support for route preference 2021-12-20 17:44:28 +01:00
tcp_internal.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
tcp_private.h
tcp.c net: tcp: Do not accept new data in retransmission mode 2022-03-30 11:08:22 +02:00
tcp.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
tp_priv.h
tp.c
tp.h
trickle.c kernel: workq: Fix type errors in delayable work handlers 2022-02-02 18:43:12 -05:00
udp_internal.h
udp.c
utils.c