nuttx/net/tcp
chao.an c2b0006dcd net/tcp: implement the fast retransmit
RFC2001: TCP Slow Start, Congestion Avoidance, Fast Retransmit,
         and Fast Recovery Algorithms

...

3.  Fast Retransmit
  Modifications to the congestion avoidance algorithm were proposed in
  1990 [3].  Before describing the change, realize that TCP may
  generate an immediate acknowledgment (a duplicate ACK) when an out-
  of-order segment is received (Section 4.2.2.21 of [1], with a note
  that one reason for doing so was for the experimental fast-
  retransmit algorithm).  This duplicate ACK should not be delayed.
  The purpose of this duplicate ACK is to let the other end know that a
  segment was received out of order, and to tell it what sequence
  number is expected.

  Since TCP does not know whether a duplicate ACK is caused by a lost
  segment or just a reordering of segments, it waits for a small number
  of duplicate ACKs to be received.  It is assumed that if there is
  just a reordering of the segments, there will be only one or two
  duplicate ACKs before the reordered segment is processed, which will
  then generate a new ACK.  If three or more duplicate ACKs are
  received in a row, it is a strong indication that a segment has been
  lost.  TCP then performs a retransmission of what appears to be the
  missing segment, without waiting for a retransmission timer to
  expire.

Change-Id: Ie2cbcecab507c3d831f74390a6a85e0c5c8e0652
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-01 11:36:10 -06:00
..
Kconfig net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
Make.defs net/tcp and udp: Move tcp/udp recvfrom into tcp/udp folder 2020-01-21 08:30:39 -06:00
tcp_accept.c sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
tcp_appsend.c net/tcp/tcp_appsend.c: Fix syslog formats 2020-11-27 05:18:57 -06:00
tcp_backlog.c Make the tcp_backlog error message clear 2020-02-24 11:35:01 -06:00
tcp_callback.c net/tcp: fix nxstyle warnings 2020-11-28 00:03:47 -06:00
tcp_close.c net/callback: remove the assert check of conn instance 2020-11-10 19:40:41 -08:00
tcp_conn.c Sources and Docs: Fix typos and nxstyle issues 2020-10-02 04:54:52 +02:00
tcp_connect.c Run nxstyle all .c and .h files modified by PR. 2020-05-17 14:01:00 -03:00
tcp_devpoll.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
tcp_finddev.c Fix typos in comments 2020-02-14 08:50:45 -06:00
tcp_getsockopt.c net/tcp/tcp_getsockopt.c: Fix compilation failure found in build testing. Error: invalia application of 'sizeof' to incomplete type 'struct timeval'. Fixed by including sys/time.h. Same problem and same fix as for setsockopt earlier." 2020-01-11 17:20:02 -03:00
tcp_input.c net/tcp/tcp_input.c: Fix syslog formats 2020-11-27 05:18:57 -06:00
tcp_ipselect.c Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
tcp_listen.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
tcp_monitor.c Run codespell -w against all files 2020-02-22 14:45:07 -06:00
tcp_netpoll.c Don't need monitor IOB buffer empty event for POLLOUT implementation 2020-05-13 06:50:07 -06:00
tcp_notifier.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
tcp_recvfrom.c Run nxstyle all .c and .h files modified by PR. 2020-05-17 14:01:00 -03:00
tcp_recvwindow.c net/tcp: correct the available iobs count if throttle is enabled 2020-11-28 23:24:44 -06:00
tcp_send_buffered.c net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
tcp_send_unbuffered.c net/tcp/tcp_send_unbuffered.c: Fix syslog formats 2020-11-23 05:00:10 -08:00
tcp_send.c net/tcp: fallback to unthrottle pool to avoid deadlock 2020-11-28 00:03:47 -06:00
tcp_sendfile.c net/tcp/tcp_sendfile.c: Fix syslog formats 2020-11-24 22:31:33 -08:00
tcp_seqno.c net/: Fix alignment and spacing problems found by tools/nxstyle. 2019-07-02 18:02:23 -06:00
tcp_setsockopt.c Rename clock_systime[r|spec] to clock_systime_[ticks|timespec] 2020-05-10 14:35:50 -06:00
tcp_timer.c net/tcp: Rectified keepalive fix 2020-11-18 17:40:42 -03:00
tcp_txdrain.c sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
tcp_wrbuffer_dump.c net/tcp/tcp_wrbuffer_dump.c: Fix a syslog format 2020-11-20 22:22:53 -08:00
tcp_wrbuffer.c net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
tcp.h net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00