memory mapped packet capturing - bpf replacement ?

Sergey Lyubka devnull at uptsoft.com
Mon Jun 21 08:51:09 GMT 2004


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


More information about the freebsd-hackers mailing list