This is just a nit, but it seems to me that although the code
in tcp_reass() counts completely overlapping packets via the
statistics tcps_rcvduppack and tcps_rcvdupbyte, it does NOT
count partially overlapping packets as it should with
tcps_rcvpartduppack and tcps_rcvpartdupbyte.

I'm thinking that the following change ought to do the
right thing, but I'd like to know if anyone disagrees:

--- tcp_input.c Sat Dec 15 03:23:56 2001
+++ tcp_input.c+        Tue Mar 26 11:04:35 2002
@@ -223,6 +223,9 @@
                                 * completes.
                                 */
                                goto present;   /* ??? */
+                       } else {
+                               tcpstat.tcps_rcvpartduppack++;
+                               tcpstat.tcps_rcvpartdupbyte += *tlenp;
                        }
                        m_adj(m, i);
                        *tlenp -= i;
-- 
G. Paul Ziemba  [EMAIL PROTECTED]
FreeBSD unix:
12:36PM  up 1 day,  2:44, 9 users, load averages: 0.04, 0.04, 0.01

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to