FreeBSD src
Go to file
Stephen Hurd 2d873474b2 Fix PR222744 - netmap errors with iflib em driver
Fix error when refilling netmap buffers that resulted in the first
buffer of the successive passes through ifl_bus_addrs[] leaving the
first value unset (tmp_pidx started at 1, not zero after the first time
through the loop).

Leave the one unused buffer required by some NICs visible in the netmap
ring rather than hidden. There will always be a buffer in use by the
kernel now when an iflib driver is used via netmap.

Always get the netmap slot index via netmap_idx_n2k() to account for
nkr_hwofs in a consistent way.

Split shared functionality into new functions.
iru_init(): shared by _iflib_fl_refill() and netmap_fl_refill()
netmap_fl_refill(): shared by iflib_netmap_rxsync() and
iflib_netmap_rxq_init()

PR:		222744
Reported by:	Shirkdog <mshirk@daemon-security.com>
Reviewed by:	sbruno
Approved by:	sbruno (mentor)
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D12769
2017-10-30 21:14:31 +00:00
bin Undocument "tdnam" (leaving it as an alias), and rename the column 2017-10-09 13:53:41 +00:00
cddl libdtrace: replace "DOODAD" with more descriptive string 2017-10-27 16:23:45 +00:00
contrib Import tzdata 2017c 2017-10-28 18:54:45 +00:00
crypto Upgrade to OpenSSH 7.5p1. 2017-08-04 12:57:24 +00:00
etc Update several more URLs 2017-10-29 08:17:03 +00:00
gnu Support armv7 builds for userland 2017-10-05 23:01:33 +00:00
include libc: Do not refer to _DefaultRuneLocale in ctype inlines 2017-10-22 20:01:07 +00:00
kerberos5 Replace the include path using CURDIR with KRB5DIR. This is consistent 2017-08-21 12:42:05 +00:00
lib Fix misleading comment. 2017-10-29 14:26:37 +00:00
libexec Use MAP_PRIVATE instead of obsolete MAP_COPY. No functional changes. 2017-10-30 08:56:04 +00:00
release Set a default hostname for virtual machine images. 2017-10-30 13:54:54 +00:00
rescue rescue: say gbye to 'boot floppies' and moderize 2017-10-29 21:21:39 +00:00
sbin Use MAP_PRIVATE instead of obsolete MAP_COPY. No functional changes. 2017-10-30 08:56:04 +00:00
secure Convert traditional ${MK_TESTS} conditional idiom for including test 2017-08-02 08:35:51 +00:00
share Add myself to committers-src.dot 2017-10-30 18:17:02 +00:00
sys Fix PR222744 - netmap errors with iflib em driver 2017-10-30 21:14:31 +00:00
targets clean up remnants of removed GPL software 2017-10-13 18:30:32 +00:00
tests Discard the correct thread event reported for a ptrace stop. 2017-10-27 03:16:19 +00:00
tools Fix native-xtools installion after r325082 and r325000 to be to /nxb-bin. 2017-10-30 18:54:27 +00:00
usr.bin The !! trick does not apply to all shells 2017-10-29 20:20:51 +00:00
usr.sbin bthidd(8): Generate button release event after virtual T-axis button press 2017-10-30 20:58:57 +00:00
.arcconfig callsign isn't required anymore 2016-09-29 06:19:45 +00:00
.arclint phabricator related changes: 2015-04-20 20:33:22 +00:00
COPYRIGHT Bump copyright year. 2016-12-31 12:41:42 +00:00
LOCKS
MAINTAINERS Add asomers as a pjdfstest co-maintainer per the project status change 2017-06-28 09:25:15 +00:00
Makefile Suggest TARGET/TARGET_ARCH, XDEV/XDEV_ARCH are depcrecated in r269031. 2017-10-29 01:21:33 +00:00
Makefile.inc1 Return proper status from buildenv. 2017-10-30 03:12:38 +00:00
Makefile.libcompat lib32/libsoft: Store object files in a more consistent structure. 2017-10-29 01:21:39 +00:00
ObsoleteFiles.inc Remove mbpool(9) now that it has no consumers. 2017-10-18 00:18:03 +00:00
README Correct the URLs for both READMEs for tracking src 2017-10-29 20:29:31 +00:00
README.md Correct the URLs for both READMEs for tracking src 2017-10-29 20:29:31 +00:00
UPDATING Revert removal of 9.x references in UPDATING 2017-10-29 21:25:58 +00:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

For copyright information, please see the file COPYRIGHT in this directory (additional copyright information also exists for some sources in this tree - please see the specific source directories for more information).

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7) and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html for more information, including setting make(1) variables.

The buildkernel and installkernel targets build and install the kernel and the modules (see below). Please see the top of the Makefile in this directory for more information on the standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process. See build(7), config(8), and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information.

Note: If you want to build and install the kernel with the buildkernel and installkernel targets, you might need to build world before. More information is available in the handbook.

The kernel configuration files reside in the sys/<arch>/conf sub-directory. GENERIC is the default configuration used in release builds. NOTES contains entries and documentation for all possible devices, not just those commonly used.

Source Roadmap:

bin				System/user commands.

cddl			Various commands and libraries under the Common Development  
				and Distribution License.

contrib			Packages contributed by 3rd parties.

crypto			Cryptography stuff (see crypto/README).

etc				Template files for /etc.

gnu				Various commands and libraries under the GNU Public License.  
				Please see gnu/COPYING* for more information.

include			System include files.

kerberos5		Kerberos5 (Heimdal) package.

lib				System libraries.

libexec			System daemons.

release			Release building Makefile & associated tools.

rescue			Build system for statically linked /rescue utilities.

sbin			System commands.

secure			Cryptographic libraries and commands.

share			Shared resources.

sys				Kernel sources.

tests			Regression tests which can be run by Kyua.  See tests/README
				for additional information.

tools			Utilities for regression testing and miscellaneous tasks.

usr.bin			User commands.

usr.sbin		System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html