freebsd-nq/tools
Luigi Rizzo 506cc70cce 1. Fix the handling of link reset while in netmap more.
A link reset now is completely transparent for the netmap client:
   even if the NIC resets its own ring (e.g. restarting from 0),
   the client will not see any change in the current rx/tx positions,
   because the driver will keep track of the offset between the two.

2. make the device-specific code more uniform across different drivers
   There were some inconsistencies in the implementation of the netmap
   support routines, now drivers have been aligned to a common
   code structure.

3. import netmap support for ixgbe . This is implemented as a very
   small patch for ixgbe.c (233 lines, 11 chunks, mostly comments:
   in total the patch has only 54 lines of new code) , as most of
   the code is in an external file sys/dev/netmap/ixgbe_netmap.h ,
   following some initial comments from Jack Vogel about making
   changes less intrusive.
   (Note, i have emailed Jack multiple times asking if he had
   comments on this structure of the code; i got no reply so
   i assume he is fine with it).

Support for other drivers (em, lem, re, igb) will come later.

"ixgbe" is now the reference driver for netmap support. Both the
external file (sys/dev/netmap/ixgbe_netmap.h) and the device-specific
patches (in sys/dev/ixgbe/ixgbe.c) are heavily commented and should
serve as a reference for other device drivers.

Tested on i386 and amd64 with the pkt-gen program in tools/tools/netmap,
the sender does 14.88 Mpps at 1050 Mhz and 14.2 Mpps at 900 MHz
on an i7-860 with 4 cores and 82599 card. Haven't tried yet more
aggressive optimizations such as adding 'prefetch' instructions
in the time-critical parts of the code.
2011-12-05 12:06:53 +00:00
..
build Revert to conservative defaults. WITH_PROFILE is a default now. 2011-12-02 09:09:54 +00:00
debugscripts Fix a couple of typos. 2010-07-30 11:58:18 +00:00
diag
kerneldoc - Update config to doxygen 1.5.2 (I use this with 1.5.9). 2009-08-24 13:10:55 +00:00
KSE Use, in uncovered part, the END() macro in order to improve debugging. 2009-05-25 14:37:10 +00:00
LibraryReport
regression Fix some uninitialized variables in pipe regression tests that result in 2011-12-05 04:20:13 +00:00
sched - Update my copyright. 2009-01-22 06:21:30 +00:00
test Fix warnings and style(9) issues. 2011-03-11 17:33:31 +00:00
tools 1. Fix the handling of link reset while in netmap more. 2011-12-05 12:06:53 +00:00
install.sh Teach tools/install.sh the -d directory mode. 2011-02-22 08:07:17 +00:00
make_libdeps.sh - Add missing interdependencies to kerberos libraries. Some of the 2011-09-27 07:14:12 +00:00
README
tinder.sh Add a comment that shows how to limit the build to the specific list of arches. 2011-11-28 14:03:36 +00:00

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.