Author: rrs
Date: Wed Aug  8 13:36:49 2018
New Revision: 337455
URL: https://svnweb.freebsd.org/changeset/base/337455

Log:
  Fix a small bug in rack where it will
  end up sending the FIN twice.
  Sponsored by: Netflix Inc.
  Differential Revision:        https://reviews.freebsd.org/D16604

Modified:
  head/sys/netinet/tcp_stacks/rack.c

Modified: head/sys/netinet/tcp_stacks/rack.c
==============================================================================
--- head/sys/netinet/tcp_stacks/rack.c  Wed Aug  8 12:08:46 2018        
(r337454)
+++ head/sys/netinet/tcp_stacks/rack.c  Wed Aug  8 13:36:49 2018        
(r337455)
@@ -7603,13 +7603,10 @@ dontupdate:
         * If our state indicates that FIN should be sent and we have not
         * yet done so, then we need to send.
         */
-       if (flags & TH_FIN) {
-               if ((tp->t_flags & TF_SENTFIN) ||
-                   (((tp->t_flags & TF_SENTFIN) == 0) &&
-                    (tp->snd_nxt == tp->snd_una))) {
-                       pass = 11;
-                       goto send;
-               }
+       if ((flags & TH_FIN) &&
+           (tp->snd_nxt == tp->snd_una)) {
+               pass = 11;
+               goto send;
        }
        /*
         * No reason to send a segment, just return.
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to