zephyr/subsys/net/ip
Robert Lubos 7207f35758 net: tcp: Fix ACK check in LAST_ACK state
The final ACK check during passive close was wrong - we should not
compare its SEQ number with the ACK number we've sent last, but rather
compare the ACK number it acknowledges matches our current SEQ number on
the connection. This ensures, that the ACK received is really
acknowledging the FIN packet we've sent from our side, and is not just
some earlier retransmission. Currently the latter could be the case, and
we've closed the connection prematurely. In result, when the real "final
ACK" arrived, the TCP stack replied with RST.

Subsequently, we should increment the SEQ number on the connection after
sending FIN packet, so that we are able to identify final ACK correctly,
just as it's done in active close cases.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 15:56:50 -05:00
..
6lo.c net: ip: 6lo: Fix corner case with packet format after IPHC 2023-02-19 20:33:36 -05:00
6lo.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
6lo_private.h
canbus_socket.c net: core: clean up inbound packet handling 2022-09-05 14:35:17 +00:00
canbus_socket.h
CMakeLists.txt net: dhcpv6: Move DHCPv6 files to lib directory 2024-01-29 13:47:05 +01:00
connection.c net: conn: Add internal function for update connection 2024-03-14 11:08:59 -05:00
connection.h net: conn: Add internal function for update connection 2024-03-14 11:08:59 -05:00
icmp.c net: ip: icmp: Cleanup packet on failed priority check 2023-11-27 19:59:26 +01:00
icmpv4.c net: icmp: Don't report error on ICMP messages w/o handler 2024-01-29 14:57:35 +00:00
icmpv4.h net: ip: Add option to force checksum calculation 2023-11-08 15:09:37 +00:00
icmpv6.c net: icmp: Don't report error on ICMP messages w/o handler 2024-01-29 14:57:35 +00:00
icmpv6.h net: ip: Add option to force checksum calculation 2023-11-08 15:09:37 +00:00
igmp.c net: igmp: Fix double unref of igmp packet 2024-03-15 13:35:16 +01:00
ipv4.c net: ipv4: Allow IGMP packets with zero src address 2024-03-19 09:47:00 +01:00
ipv4.h net: context: Add support for adjusting IPv4 multicast ttl 2023-12-04 15:07:43 +01:00
ipv4_autoconf.c net: ipv4: Make netmask IPv4 address specific 2024-03-03 18:58:29 +01:00
ipv4_autoconf_internal.h includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
ipv4_fragment.c net: pkt: Add explicit flag to indicate packet is IP reassembled 2023-11-08 15:09:37 +00:00
ipv6.c net: ipv6: Check that received src address is not mine 2024-01-03 19:00:33 +00:00
ipv6.h net: ipv6: Improve Neighbor Discovery thread safety 2024-02-09 16:34:34 -06:00
ipv6_fragment.c net: pkt: Add explicit flag to indicate packet is IP reassembled 2023-11-08 15:09:37 +00:00
ipv6_mld.c net: ipv6_mld: Silently drop MLDv1 queries 2023-12-18 09:28:42 +01:00
ipv6_nbr.c net: ipv6: Introduce separate logger module for IPv6 ND 2024-03-21 18:00:50 +01:00
Kconfig drivers: ethernet: Introduce ETH_DRIVER_RAW_MODE option 2024-03-20 08:05:55 -05:00
Kconfig.debug kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.ipv4 net: dhcpv4: Move DHCPv4 files to lib directory 2024-01-29 13:47:05 +01:00
Kconfig.ipv6 net: ipv6: Introduce separate logger module for IPv6 ND 2024-03-21 18:00:50 +01:00
Kconfig.mgmt net: ip: net_mgmt: Support system work queue and synchronous callbacks 2023-12-07 16:15:53 +00:00
Kconfig.stack kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.stats net: ip: stats: changed dependency for PPP stats 2023-09-15 15:13:06 -05:00
Kconfig.tcp net: ipv6: nbr: Add IPv6 reachability confirmation API 2024-01-31 14:50:53 +01:00
nbr.c net/ip: Removing useless extra data capability in neighbors 2024-03-01 15:33:53 +01:00
nbr.h net/ip: Removing useless extra data capability in neighbors 2024-03-01 15:33:53 +01:00
net_context.c net: context: Fix the ICMP error on raw 2024-03-14 11:08:59 -05:00
net_core.c net: dhcpv6: Move DHCPv6 files to lib directory 2024-01-29 13:47:05 +01:00
net_if.c net: iface: Allow catch-all multicast monitor 2024-03-18 10:14:34 +01:00
net_mgmt.c net: mgmt: Handle loops in the linked list 2024-03-08 09:35:04 +01:00
net_pkt.c net: ip: Fix for improper offset return by net_pkt_find_offset() 2024-03-05 18:23:24 +00:00
net_private.h net: ipv4: Check localhost for incoming packet 2023-12-21 09:18:24 +01:00
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.c net: ip: Allow traffic class thread priority customization 2024-02-26 12:11:19 +01:00
net_tc_mapping.h net: Enable running without TX or RX threads 2021-04-27 12:02:19 +03:00
net_timeout.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
packet_socket.c all: Fix "#if IS_ENABLED(CONFIG_FOO)" occurrences 2022-12-21 10:09:23 +01:00
packet_socket.h net: socket: packet: using pckt sckt for passing the PPP dialup data 2021-04-01 09:43:56 +03:00
promiscuous.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
route.c net/ip: Removing useless extra data capability in neighbors 2024-03-01 15:33:53 +01:00
route.h net/ip: Removing useless extra data capability in neighbors 2024-03-01 15:33:53 +01:00
tcp.c net: tcp: Fix ACK check in LAST_ACK state 2024-03-22 15:56:50 -05:00
tcp.h net: tcp: Rework data queueing API 2023-11-21 08:46:45 +00:00
tcp_internal.h net: tcp: Implement Keep-alive support 2023-12-11 10:11:10 +01:00
tcp_private.h net: tcp: Rate-limiting of neighbor reachability hints 2024-02-09 16:26:10 -06:00
tp.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
tp.h all: Fix "#if IS_ENABLED(CONFIG_FOO)" occurrences 2022-12-21 10:09:23 +01:00
tp_priv.h includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
udp.c net: Verify L4 checksum unconditionally for reassembled packets 2023-11-08 15:09:37 +00:00
udp_internal.h net: ip: Add option to force checksum calculation 2023-11-08 15:09:37 +00:00
utils.c net: ip: add function to set default port 2024-02-28 18:03:53 +00:00