OSDN Git Service

tcp: add documentation for tcp_ca_state
authorSoheil Hassas Yeganeh <soheil@google.com>
Fri, 22 Mar 2019 14:59:47 +0000 (10:59 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Mar 2019 01:50:05 +0000 (21:50 -0400)
Add documentation to the tcp_ca_state enum, since this enum is
exposed in uapi.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Cc: Sowmini Varadhan <sowmini05@gmail.com>
Acked-by: Sowmini Varadhan <sowmini05@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/tcp.h

index 8bb6cc5..b521464 100644 (file)
@@ -160,15 +160,42 @@ enum {
 #define TCPI_OPT_ECN_SEEN      16 /* we received at least one packet with ECT */
 #define TCPI_OPT_SYN_DATA      32 /* SYN-ACK acked data in SYN sent or rcvd */
 
+/*
+ * Sender's congestion state indicating normal or abnormal situations
+ * in the last round of packets sent. The state is driven by the ACK
+ * information and timer events.
+ */
 enum tcp_ca_state {
+       /*
+        * Nothing bad has been observed recently.
+        * No apparent reordering, packet loss, or ECN marks.
+        */
        TCP_CA_Open = 0,
 #define TCPF_CA_Open   (1<<TCP_CA_Open)
+       /*
+        * The sender enters disordered state when it has received DUPACKs or
+        * SACKs in the last round of packets sent. This could be due to packet
+        * loss or reordering but needs further information to confirm packets
+        * have been lost.
+        */
        TCP_CA_Disorder = 1,
 #define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
+       /*
+        * The sender enters Congestion Window Reduction (CWR) state when it
+        * has received ACKs with ECN-ECE marks, or has experienced congestion
+        * or packet discard on the sender host (e.g. qdisc).
+        */
        TCP_CA_CWR = 2,
 #define TCPF_CA_CWR    (1<<TCP_CA_CWR)
+       /*
+        * The sender is in fast recovery and retransmitting lost packets,
+        * typically triggered by ACK events.
+        */
        TCP_CA_Recovery = 3,
 #define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
+       /*
+        * The sender is in loss recovery triggered by retransmission timeout.
+        */
        TCP_CA_Loss = 4
 #define TCPF_CA_Loss   (1<<TCP_CA_Loss)
 };