From owner-freebsd-net@freebsd.org Fri Nov 6 20:22:39 2015 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6FF9BA28697 for ; Fri, 6 Nov 2015 20:22:39 +0000 (UTC) (envelope-from csjp@sqrt.ca) Received: from mx01.sqrt.ca (i4hg.x.rootbsd.net [208.79.81.26]) by mx1.freebsd.org (Postfix) with ESMTP id DEB0E1965; Fri, 6 Nov 2015 20:22:37 +0000 (UTC) (envelope-from csjp@sqrt.ca) Received: from [172.22.20.171] (unknown [207.164.135.98]) by mx01.sqrt.ca (Postfix) with ESMTPSA id A3ED6B828; Fri, 6 Nov 2015 15:21:39 -0500 (EST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.0 \(3094\)) Subject: Re: netstat -B "Recv" From: Christian Peron In-Reply-To: Date: Fri, 6 Nov 2015 14:22:29 -0600 Cc: "Alexander V. Chernikov" , freebsd-net Content-Transfer-Encoding: quoted-printable Message-Id: <884C10B2-9C17-44C6-81AC-1C56548FE31D@sqrt.ca> References: <111891446726660@web29h.yandex.ru> To: elof2@sentor.se X-Mailer: Apple Mail (2.3094) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Nov 2015 20:22:39 -0000 It needs to get fixed.. let me generate a patch for you and you can test = it. > On Nov 5, 2015, at 8:51 AM, elof2@sentor.se wrote: >=20 > On Thu, 5 Nov 2015, Alexander V. Chernikov wrote: >=20 >>=20 >>=20 >> 04.11.2015, 19:55, "elof2@sentor.se" : >>> Hi! >>>=20 >>> Question: >>> What do the Recv column in 'netstat -B' show? >>>=20 >>> I thought it was tha amount of packets received, but appaently not = so. >>>=20 >>> I send 2000000 packets from a tcpreplay machine to a receiving = machine. >>> I do it a few times. >>>=20 >>> On the receiver I see: >>> netstat -in >>> Name Mtu Network Address Ipkts Ierrs Idrop Opkts >>> Oerrs Coll >>> ix0 1500 0c:c4:7a:58:e2:3c 0 0 0 0 >>> 0 0 >>> ix1 1500 0c:c4:7a:58:e2:3d 6000000 0 0 0 >>> 0 0 >>>=20 >>> and then >>> netstat -in >>> Name Mtu Network Address Ipkts Ierrs Idrop Opkts >>> Oerrs Coll >>> ix0 1500 0c:c4:7a:58:e2:3c 0 0 0 0 >>> 0 0 >>> ix1 1500 0c:c4:7a:58:e2:3d 8000000 0 0 0 >>> 0 0 >>>=20 >>> So 6000000 has increased to 8000000. Good. >>>=20 >>> However, 'netstat -B' show: >>> Pid Netif Flags Recv Drop Match Sblen Hblen Command >>> 25553 mon0 p--s--- 1996862 0 2000000 0 0 tcpdump >>>=20 >>> How can the "Recv" be *lower* than "Match"? >>> 1996862 < 2000000. >>>=20 >>> For every new run (fast and slow) I get the same results, slightly = less >>> than 2000000 Recv. >>>=20 >>> What am I missing? >> Well, "Recv" is read from d->bd_rcount which is not per-cpu counter = and is incrementing unlocked. >> On the other hand, "Match" increases when filter returned match = condition and we (w)locked bpf descriptor, so this one is accurate. >=20 > Ah. Thanks. >=20 >=20 > Will you make a bugzilla out of this? Or should I? Or is it not = interesting enough to fix? >=20 > /Elof > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"