Date: Tue, 14 Jan 2014 12:12:09 -0800 From: Luigi Rizzo <rizzo@iet.unipi.it> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Fwd: netmap support for libpcap now available Message-ID: <CA%2BhQ2%2Bgaiq9SM_wUyBm0WS4354ToBVOmp6z%2BzmHpxd-LreEeMA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
FYI. ---------- Forwarded message ---------- From: Luigi Rizzo <rizzo@iet.unipi.it> Date: Tue, Jan 14, 2014 at 12:08 PM Subject: netmap support for libpcap now available To: tcpdump-workers@lists.tcpdump.org since there were no takers i went ahead and did it. The repo at http://code.google.com/p/netmap/ has been updated with a newer version of netmap, and the extra/ directory contains a netmap backend for libpcap https://code.google.com/p/netmap/source/browse/extra/libpcap-netmap.diff which works against a recent (Jan11) libpcap version from github https://github.com/the-tcpdump-group/libpcap/commits/master commit fd04c4ff9f9a6b50fccec7afb18af64433730a2b Author: Guy Harris <guy@alum.mit.edu> Date: Sat Jan 11 20:38:02 2014 -0800 For some quick testing (linux; FreeBSD is similar): - download the netmap code from code.google.com/p/netmap/ - compile just the netmap module and the examples (cd LINUX; make NODRIVERS=1 ) (cd examples; make) - install the module (cd LINUX; sudo insmod ./netmap_lin.ko) (either change access privs to /dev/netmap, or run netmap clients with root privs) - fetch the pcap code - patch with the netmap support files cd pcap-base-code; patch -p1 < /wherever/is/the/netmap-base-dir/extra/libpcap-netmap-diff ) - make sure the netmap headers are accessible and rebuild libpcap export CFLAGS=-I/wherever/is/the/netmap-base-dir/sys ./configure make - create a link so ld will find it ln -s libpcap.so.1.6.0-PRE-GIT libpcap.so.0.8 - and now you can run tcpdump using the current library (depending on the OS you may need to tell apparmor to allow the library override for tcpdump, or make a non suid copy of tcpdump) LD_LIBRARY_PATH=. tcpdump -ni valexx:yy while in another window you run a netmap traffic generator /wherever/is/the/netmap-base-dir/pkt-gen -i valexx:zz -f tx You can access an ordinary interface in emulated netmap mode by prefixing the name with netmap: , but BEWARE: *** in this mode the interface is only used for capture, *** and goes back to regular mode when you exit the tcpdump LD_LIBRARY_PATH=. tcpdump -ni netmap:eth0 cheers luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2Bgaiq9SM_wUyBm0WS4354ToBVOmp6z%2BzmHpxd-LreEeMA>