Author: hiren
Date: Fri Sep 30 18:14:05 2016
New Revision: 306517
URL: https://svnweb.freebsd.org/changeset/base/306517

Log:
  MFC r304855
  
  Update TCPS_HAVERCVDFIN() macro to correctly include all states a connection
  can be in after receiving a FIN.
  
  FWIW, NetBSD has this change for quite some time.
  
  This has been tested at Netflix and Limelight in production traffic.

Modified:
  stable/11/sys/netinet/tcp_fsm.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/netinet/tcp_fsm.h
==============================================================================
--- stable/11/sys/netinet/tcp_fsm.h     Fri Sep 30 18:12:16 2016        
(r306516)
+++ stable/11/sys/netinet/tcp_fsm.h     Fri Sep 30 18:14:05 2016        
(r306517)
@@ -73,7 +73,8 @@
 
 #define        TCPS_HAVERCVDSYN(s)     ((s) >= TCPS_SYN_RECEIVED)
 #define        TCPS_HAVEESTABLISHED(s) ((s) >= TCPS_ESTABLISHED)
-#define        TCPS_HAVERCVDFIN(s)     ((s) >= TCPS_TIME_WAIT)
+#define        TCPS_HAVERCVDFIN(s)     \
+    ((s) == TCPS_CLOSE_WAIT || ((s) >= TCPS_CLOSING && (s) != TCPS_FIN_WAIT_2))
 
 #ifdef TCPOUTFLAGS
 /*
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to