nuttx/net/tcp
Zhe Weng b058f37353 net/tcp: Reply RST when we cannot receive data
According to RFC 2525, Section 2.17:
"When an application closes a connection in such a way that it can no longer read any received data, the TCP SHOULD, per section 4.2.2.13 of RFC 1122, send a RST if there is any unread received data, or if any new data is received."

When our TCP socket is closed (even when the thread has exited), the peer can keep sending data and NuttX keeps replying ACK (we've tried for ~12h). This is not a good behavior (also different from Linux), so send RST instead of ACK for data receiving in FIN_WAIT.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-03-29 09:22:00 -03:00
..
Kconfig Remove the tail spaces from all files except Documentation 2023-02-26 13:24:24 -08:00
Make.defs net: Implement shutdown() interface and tcp shutdown 2023-01-31 11:15:01 +08:00
tcp_accept.c net: consistent the net sem wait naming conversion 2023-01-15 12:31:30 -03:00
tcp_appsend.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_backlog.c libc: Move queue.h from include to include/nuttx 2022-09-26 08:04:58 +02:00
tcp_callback.c net/tcp: add out-of-order segment support 2023-01-18 16:24:09 +08:00
tcp_close.c free TCP rx buffer immediately in tcp_close 2023-01-30 11:25:36 +08:00
tcp_conn.c Improvements in TCP connections allocation. 2023-02-20 09:06:46 +08:00
tcp_connect.c net/tcp: remove conn check since which can not be NULL 2023-02-02 13:31:06 +08:00
tcp_devpoll.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_dump.c net: cleanup pvconn reference to avoid confuse 2022-08-26 20:58:11 +08:00
tcp_finddev.c net: modify find device logic 2023-02-12 01:25:34 +08:00
tcp_getsockopt.c net/tcp: Use the relative value for keep alive timer 2022-05-18 18:40:41 +03:00
tcp_input.c net/tcp: Reply RST when we cannot receive data 2023-03-29 09:22:00 -03:00
tcp_ioctl.c net: Align the prototype of sock_intf_s::si_ioctl with file_operations::ioctl 2022-09-06 22:46:37 +08:00
tcp_ipselect.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_listen.c net/tcp: Remove tcp_listen_initialize 2022-03-12 19:24:17 +02:00
tcp_monitor.c net/soerr: add new _SO_CONN_SETERRNO() macro 2022-11-24 22:57:42 +08:00
tcp_netpoll.c socket: divide errno & s_error 2023-02-23 16:40:19 +01:00
tcp_notifier.c Typo fixes. 2023-02-17 11:17:11 -03:00
tcp_recvfrom.c net: consistent the net sem wait naming conversion 2023-01-15 12:31:30 -03:00
tcp_recvwindow.c net/tcp: add out-of-order segment support 2023-01-18 16:24:09 +08:00
tcp_send_buffered.c net/tcp: remove conn check since which can not be NULL 2023-02-02 13:31:06 +08:00
tcp_send_unbuffered.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_send.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_sendfile.c net/sendfile: adapt sendfile() to support new driver model 2023-02-14 11:21:09 +08:00
tcp_seqno.c net/tcp: Avoid starting TCP sequence number 0 2022-11-13 09:09:36 +08:00
tcp_setsockopt.c tcp: move wd_timer from wifi driver to tcp stack 2022-05-28 16:29:51 +08:00
tcp_shutdown.c net: Implement shutdown() interface and tcp shutdown 2023-01-31 11:15:01 +08:00
tcp_timer.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_txdrain.c net: consistent the net sem wait naming conversion 2023-01-15 12:31:30 -03:00
tcp_wrbuffer.c net: consistent the net sem wait naming conversion 2023-01-15 12:31:30 -03:00
tcp.h net: Implement shutdown() interface and tcp shutdown 2023-01-31 11:15:01 +08:00