netstat -B "Recv"

Christian Peron csjp at sqrt.ca
Fri Nov 6 20:22:39 UTC 2015


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 at sentor.se wrote:
> 
> On Thu, 5 Nov 2015, Alexander V. Chernikov wrote:
> 
>> 
>> 
>> 04.11.2015, 19:55, "elof2 at sentor.se" <elof2 at sentor.se>:
>>> Hi!
>>> 
>>> Question:
>>> What do the Recv column in 'netstat -B' show?
>>> 
>>> I thought it was tha amount of packets received, but appaently not so.
>>> 
>>> I send 2000000 packets from a tcpreplay machine to a receiving machine.
>>> I do it a few times.
>>> 
>>> On the receiver I see:
>>> netstat -in
>>> Name Mtu Network Address Ipkts Ierrs Idrop Opkts
>>> Oerrs Coll
>>> ix0 1500 <Link#1> 0c:c4:7a:58:e2:3c 0 0 0 0
>>> 0 0
>>> ix1 1500 <Link#2> 0c:c4:7a:58:e2:3d 6000000 0 0 0
>>> 0 0
>>> 
>>> and then
>>> netstat -in
>>> Name Mtu Network Address Ipkts Ierrs Idrop Opkts
>>> Oerrs Coll
>>> ix0 1500 <Link#1> 0c:c4:7a:58:e2:3c 0 0 0 0
>>> 0 0
>>> ix1 1500 <Link#2> 0c:c4:7a:58:e2:3d 8000000 0 0 0
>>> 0 0
>>> 
>>> So 6000000 has increased to 8000000. Good.
>>> 
>>> However, 'netstat -B' show:
>>>    Pid Netif Flags Recv Drop Match Sblen Hblen Command
>>> 25553 mon0 p--s--- 1996862 0 2000000 0 0 tcpdump
>>> 
>>> How can the "Recv" be *lower* than "Match"?
>>> 1996862 < 2000000.
>>> 
>>> For every new run (fast and slow) I get the same results, slightly less
>>> than 2000000 Recv.
>>> 
>>> 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.
> 
> Ah. Thanks.
> 
> 
> Will you make a bugzilla out of this? Or should I? Or is it not interesting enough to fix?
> 
> /Elof
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-net mailing list