freebsd-dev/sys
Luigi Rizzo 091fd0ab54 Add support for transparent mode while in netmap.
By setting dev.netmap.fwd=1 (or enabling the feature with a per-ring flag),
packets are forwarded between the NIC and the host stack unless the
netmap client clears the NS_FORWARD flag on the individual descriptors.

This feature greatly simplifies applications where some traffic
(think of ARP, control traffic, ssh sessions...) must be processed
by the host stack, whereas the bulk is handled by the netmap process
which simply (un)marks packets that should not be forwarded.
The default is chosen so that now a netmap receiver operates
in a mode very similar to bpf.

Of course there is no free lunch: traffic to/from the host stack
still operates at OS speed (or less, as there is one extra copy in
one direction).
HOWEVER, since traffic goes to the user process before being
reinjected, and reinjection occurs in a user context, you get some
form of livelock protection for free.
2013-01-23 05:37:45 +00:00
..
amd64 Postpone vmm module initialization until after SMP is initialized - particularly 2013-01-21 01:33:10 +00:00
arm Clarify the error messages for unrecognized pins and muxtypes. 2013-01-19 17:12:23 +00:00
boot Fix linking of loader.efi. 2013-01-22 04:14:27 +00:00
bsm Merge OpenBSM 1.2-alpha2 changes from contrib/openbsm to 2012-12-01 13:46:37 +00:00
cam Do not pretend to have autosense data when no such data is available. 2013-01-19 03:19:39 +00:00
cddl MFV r245510: 2013-01-16 22:59:50 +00:00
compat Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
conf - Don't include date and time the driver is built, this is useful for 2013-01-22 05:41:34 +00:00
contrib Fix another build breakage for ia64. 2013-01-21 21:26:42 +00:00
crypto Revert previous commit... 2012-10-10 08:36:38 +00:00
ddb Small textdump enhancements. 2012-11-01 04:07:08 +00:00
dev Add support for transparent mode while in netmap. 2013-01-23 05:37:45 +00:00
fs ext2fs: make some inode fields match the ext2 spec. 2013-01-22 18:54:03 +00:00
gdb
geom - Fix rebuild position broken at r245522. 2013-01-17 03:27:08 +00:00
gnu/fs r16312 is not any longer real since many years (likely since when VFS 2012-11-19 22:43:45 +00:00
i386 Fix build with SMP disabled.` 2013-01-19 01:18:22 +00:00
ia64 Remove firewire devices missed in r244992. 2013-01-04 15:29:50 +00:00
isa
kern Move the mbuf memory limit calculations from init_param2() to 2013-01-17 21:28:31 +00:00
kgssapi Piete.Brooks at cl.cam.ac.uk reported via email a crash which was 2012-12-18 00:25:48 +00:00
libkern Add the required __aeabi_* functions the kernel uses when built for ARM EABI 2013-01-17 09:37:42 +00:00
mips Partially merge Perforce changeset 219938 to head: 2013-01-13 16:27:56 +00:00
modules - Don't include date and time the driver is built, this is useful for 2013-01-22 05:41:34 +00:00
net leftover from r245579... flags for semi transparent mode and direct 2013-01-23 03:49:48 +00:00
net80211 Remove the use of the ifnet send queue and if_start() in the power 2013-01-15 17:50:07 +00:00
netatalk Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netgraph Use DEVMETHOD_END, as suggested by hselasky@. 2012-12-26 19:14:21 +00:00
netinet Use decimal values for UDP and TCP socket options rather than hex to avoid 2013-01-22 19:45:04 +00:00
netinet6 Simplify in6_setscope() function to get better performance. 2013-01-10 00:10:24 +00:00
netipsec Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netipx Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netnatm Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netncp Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netpfil In netpfil/pf: 2012-12-28 09:19:49 +00:00
netsmb Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
nfs Remove the unused nfs_curusec(). 2013-01-17 19:03:24 +00:00
nfsclient Use vfs_timestamp() to set file timestamps rather than invoking 2013-01-18 18:43:38 +00:00
nfsserver Use vfs_timestamp() to set file timestamps rather than invoking 2013-01-18 18:43:38 +00:00
nlm Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
ofed Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
opencrypto Revert previous commit... 2012-10-10 08:36:38 +00:00
pc98 MFi386: Make similar changes that were made to atkbdc in r245315. 2013-01-11 23:42:24 +00:00
pci Add D-Link DFE-520TX rev C1. 2013-01-16 01:30:46 +00:00
powerpc Enable the UFS quotas for big-iron GENERIC kernels. 2013-01-03 19:03:41 +00:00
rpc Add support for backchannels to the kernel RPC. Backchannels 2012-12-08 00:29:16 +00:00
security Implement the zonename token for jailed processes. If 2013-01-17 21:02:53 +00:00
sparc64 Revert bogus part of r241740. 2013-01-03 23:12:08 +00:00
sys Similar to r245823, use decimal constants for UNIX domain socket options. 2013-01-22 20:37:31 +00:00
teken
tools Fix build on ARM (and probably other platforms) 2012-12-28 06:52:53 +00:00
ufs Add flags argument to vfs_write_resume() and remove 2013-01-11 06:08:32 +00:00
vm - Get rid of unused function vmspace_wired_count(). 2013-01-14 12:12:56 +00:00
x86 Don't attempt to use clflush on the local APIC register window. Various 2013-01-17 21:32:25 +00:00
xdr
xen Move the corresponding MTX_SYSINIT() next to their struct mtx declaration 2012-10-26 17:31:35 +00:00
Makefile Run cscope with the -v parameter to make it more user-friendly. 2012-12-02 20:51:24 +00:00