Author: smh
Date: Wed Jan  3 16:16:20 2018
New Revision: 327520
URL: https://svnweb.freebsd.org/changeset/base/327520

Log:
  MFC r322812:
  
  Avoid TCP log messages which are false positives.
  
  Sponsored by: Multiplay

Modified:
  stable/10/sys/netinet/tcp_input.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/tcp_input.c
==============================================================================
--- stable/10/sys/netinet/tcp_input.c   Wed Jan  3 15:01:31 2018        
(r327519)
+++ stable/10/sys/netinet/tcp_input.c   Wed Jan  3 16:16:20 2018        
(r327520)
@@ -1647,25 +1647,6 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru
                        to.to_tsecr = 0;
        }
        /*
-        * If timestamps were negotiated during SYN/ACK they should
-        * appear on every segment during this session and vice versa.
-        */
-       if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) {
-               if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
-                       log(LOG_DEBUG, "%s; %s: Timestamp missing, "
-                           "no action\n", s, __func__);
-                       free(s, M_TCPLOG);
-               }
-       }
-       if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) {
-               if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
-                       log(LOG_DEBUG, "%s; %s: Timestamp not expected, "
-                           "no action\n", s, __func__);
-                       free(s, M_TCPLOG);
-               }
-       }
-
-       /*
         * Process options only when we get SYN/ACK back. The SYN case
         * for incoming connections is handled in tcp_syncache.
         * According to RFC1323 the window field in a SYN (i.e., a <SYN>
@@ -1693,6 +1674,25 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru
                if ((tp->t_flags & TF_SACK_PERMIT) &&
                    (to.to_flags & TOF_SACKPERM) == 0)
                        tp->t_flags &= ~TF_SACK_PERMIT;
+       }
+
+       /*
+        * If timestamps were negotiated during SYN/ACK they should
+        * appear on every segment during this session and vice versa.
+        */
+       if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) {
+               if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
+                       log(LOG_DEBUG, "%s; %s: Timestamp missing, "
+                           "no action\n", s, __func__);
+                       free(s, M_TCPLOG);
+               }
+       }
+       if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) {
+               if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
+                       log(LOG_DEBUG, "%s; %s: Timestamp not expected, "
+                           "no action\n", s, __func__);
+                       free(s, M_TCPLOG);
+               }
        }
 
        /*
_______________________________________________
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