Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2004 11:51:06 +0300
From:      Sergey Lyubka <devnull@uptsoft.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: memory mapped packet capturing - bpf replacement ?
Message-ID:  <20040621115106.A7011@oasis.uptsoft.com>
In-Reply-To: <20040616173848.A8939@oasis.uptsoft.com>; from devnull@uptsoft.com on Wed, Jun 16, 2004 at 05:38:48PM %2B0300
References:  <FE045D4D9F7AED4CBFF1B3B813C8533701BD40C7@mail.sandvine.com> <20040616173848.A8939@oasis.uptsoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Discussion on -current, "read vs mmap", explained this.
If userland process does pre-fault allocated memory, ng_mmq
appears to be considerably faster than pcap:

# ./benchmark rl0 /dev/mmq15 20000
desc  rcvd       dropped    seen       totlen     pps        time (sec)
mmq   76865      0          20000      1196617    17231      4.461
pcap  73337      37199      20000      1200000    16527      4.438

I will do more tests though.

Question to the netgraph hackers.
ng_mmq acts like ng_hole, i.e. it discards all mbufs passed to it.
If I connect it directly to ng_ether, the network stack stops working.
The question is - how to make it `transparent', so event the "lower"
hook is connected, mbufs are still passed to upper network stack layers ?
Is it possible without additional copies like ng_tee/ng_hub do ?

-sergey



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040621115106.A7011>