1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-26 11:47:31 +00:00
freebsd/tools/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
..
aac Fix warnings and set WARNS to 6. 2011-03-11 18:51:42 +00:00
ansify
ath Tidy up the statistic documentation. 2011-11-23 05:03:27 +00:00
backout_commit
build_option_survey
bus_autoconf - Need to respect the module name and the USB mode when accumulating device ID's. 2011-06-25 15:22:44 +00:00
cd2dvd
cfi Fix warnings and set WARNS to 6. 2011-03-11 18:48:28 +00:00
commitsdb
crypto
cxgbetool Add "context" subcommand to fetch and display SGE context. 2011-06-11 04:55:15 +00:00
cxgbtool Move cxgbtool from usr.sbin to tools/tools. 2011-08-10 22:03:34 +00:00
editing
epfe
ether_reflect [mdoc] Fixed .Dt call. 2011-05-25 14:13:53 +00:00
find-sb
gdb_regofs
genericize
hcomp
html-mv
ifinfo
ipw
iso Update URLs and fix regex to work with current version of the files. 2011-05-22 09:48:25 +00:00
iwi Fix warnings and style(9) issues. 2011-03-11 19:32:15 +00:00
kdrv
kernelcruft
kerninclude
kernxref
kttcp
mcgrab
mctest Fix an error in our results printing. 2010-11-16 20:39:52 +00:00
mfc
mfi
mid
mtxstat
mwl
nanobsd Fix build after TARGET_BIG_ENDIAN was nuked from orbit. 2011-10-11 01:11:57 +00:00
ncpus mptable.h is now in include/x86. 2011-03-11 18:44:16 +00:00
net80211
netmap 1. Fix the handling of link reset while in netmap more. 2011-12-05 12:06:53 +00:00
netrate Add IPv6 support to netblast/netsend/netreceive 2011-11-08 17:23:43 +00:00
notescheck
npe
nxge
pciroms
pirtool
portsinfo
prstats
release
scsi-defects
sysbuild Add a "-P olddistfiles" facility to prefetch ports distfiles, using an 2011-10-23 19:46:01 +00:00
syscall_timing Add microbenchmark for create/unlink of a zero-byte file. 2010-10-24 09:14:21 +00:00
sysdoc update smp related documentation after recent changes 2011-07-30 20:42:14 +00:00
termcap
tinybsd
tionxcl
track
umastat
usb
vhba
vimage
vop_table
vxge Give some sort of message when the program is not run as root. 2011-05-03 16:00:36 +00:00
whereintheworld
zfsboottest Because ZFS boot code was very fragile in the past and real PITA to debug, 2011-10-21 13:44:26 +00:00
README Bring in support for netmap, a framework for very efficient packet 2011-11-17 12:17:39 +00:00

# $FreeBSD$

This directory is for tools.

A tool is something which is sometimes useful, and doesn't fit any of
the other categories.

Please make a subdir per program, and add a brief description to this
file.

ansify		Convert K&R-style function definitions to ANSI style
ath		Tools specific to the Atheros 802.11 support
backout_commit	A tool for reading in a commit message and generating
		a script that will backout the commit.
cfi		Common Flash Interface (CFI) tool
commitsdb	A tool for reconstructing commit history using md5
		checksums of the commit logs.
crypto		Test and exercise tools related to the crypto framework
cxgbetool	A tool for the cxgbe(4) driver.
cxgbtool	A tool for the cxgb(4) driver.
diffburst	OBSOLETE: equivalent functionality is available via split -p.
		For example: "split -p ^diff < patchfile". See split(1).
editing		Editor modes and the like to help editing FreeBSD code.
epfe 		Extract printing filter examples from printing.sgml.
ether_reflect	An Ethernet packet reflector for low level testing.
find-sb		Scan a disk for possible filesystem superblocks.
gdb_regofs	A simple tool that prints out a register offset table
		for mapping gdb(1) register numbers to struct reg and
		struct fpreg offsets. The tool is useful on selected
		platforms only.
genericize	Turn a kernel config into something that can more easily
		be diffed against the appropriate GENERIC.
hcomp		Compress header files by removing comments and whitespace.
html-mv         Rename HTML generated filenames to human readable filenames.
ifinfo		Uses the interface MIB to print out all the information
		an interface exports in an ugly form.
iso             Tool to compare the iso3166 and iso639 files in
		/usr/share/misc with the data from the master sites.
iwi		Tools specific to the Intel PRO/Wireless 2200BG/2225BG/2915ABG
		support.
kdrv		KernelDriver; add/list/remove third-party kernel driver
		source to/in/from a kernel source tree.
kernelcruft	Shellscript to find orphaned *.c files in /sys
kerninclude	Shellscript to find unused #includes in the kernel.
kernxref	Shellscript to cross reference symbols in the LINT kernel.
kttcp		An in-kernel version of the ttcp network performance tool
mctest		A multicast test program
mfc		Merge a directory from HEAD to a branch where it does not
		already exist and other MFC related script(s).
mid	 	Create a Message-ID database for mailing lists.
mwl		Tools specific to the Marvell 88W8363 support
ncpus		Count the number of processors
netmap		Test applications for netmap(4)
notescheck	Check for missing devices and options in NOTES files.
npe		Tools specific to the Intel IXP4XXX NPE device
nxge		A diagnostic tool for the nxge(4) driver
pciid		Generate src/share/misc/pci_vendors.
pciroms		A tool for dumping PCI ROM images. WARNING: alpha quality.
pirtool		A tool for dumping the $PIR table on i386 machines at runtime.
portsinfo 	Generate list of new ports for last two weeks.
prstats		Generate statistics about the PR database.
recoverdisk	Copy as much data as possible from a defective disk.
scsi-defects	Get at the primary or grown defect list of a SCSI disk.
sysdoc		Build a manual page with available sysctls for a specific
		kernel configuration.
tinybsd		Script to build FreeBSD embedded systems.
track		Track the progress of a world / kernel build
vimage		An interim utility for managing the virtualized network
		stack infrastructure.
vop_table	Generates a HTML document that shows all the VOP's in
		the kernel.
vxge		A diagnostic tool for the vxge(4) driver
whereintheworld	Summarizes "make world" output.