freebsd-nq/sys
Luigi Rizzo f0ea3689a9 This new version of netmap brings you the following:
- netmap pipes, providing bidirectional blocking I/O while moving
  100+ Mpps between processes using shared memory channels
  (no mistake: over one hundred million. But mind you, i said
  *moving* not *processing*);

- kqueue support (BHyVe needs it);

- improved user library. Just the interface name lets you select a NIC,
  host port, VALE switch port, netmap pipe, and individual queues.
  The upcoming netmap-enabled libpcap will use this feature.

- optional extra buffers associated to netmap ports, for applications
  that need to buffer data yet don't want to make copies.

- segmentation offloading for the VALE switch, useful between VMs.

and a number of bug fixes and performance improvements.

My colleagues Giuseppe Lettieri and Vincenzo Maffione did a substantial
amount of work on these features so we owe them a big thanks.

There are some external repositories that can be of interest:

    https://code.google.com/p/netmap
        our public repository for netmap/VALE code, including
        linux versions and other stuff that does not belong here,
        such as python bindings.

    https://code.google.com/p/netmap-libpcap
        a clone of the libpcap repository with netmap support.
	With this any libpcap client has access to most netmap
	feature with no recompilation. E.g. tcpdump can filter
	packets at 10-15 Mpps.

    https://code.google.com/p/netmap-ipfw
        a userspace version of ipfw+dummynet which uses netmap
        to send/receive packets. Speed is up in the 7-10 Mpps
        range per core for simple rulesets.

Both netmap-libpcap and netmap-ipfw will be merged upstream at some
point, but while this happens it is useful to have access to them.

And yes, this code will be merged soon. It is infinitely better
than the version currently in 10 and 9.

MFC after:	3 days
2014-02-15 04:53:04 +00:00
..
amd64 provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 2014-02-14 15:18:37 +00:00
arm Correct the order of arguments to mtx_init(). 2014-02-14 11:18:15 +00:00
boot Make the gpioled(4) work out of the box on BBB. 2014-02-13 18:51:37 +00:00
bsm Change the cap_rights_t type from uint64_t to a structure that we can extend 2013-09-05 00:09:56 +00:00
cam Make CTL block backend return proper error code for operations unsupposed 2014-02-06 03:54:58 +00:00
cddl MFV r261619: 2014-02-08 05:35:36 +00:00
compat The posix_madvise(3) and posix_fadvise(2) should return error on 2014-01-30 18:04:39 +00:00
conf This new version of netmap brings you the following: 2014-02-15 04:53:04 +00:00
contrib Substitute flags from historical mbuf(9) allocator with modern ones. 2014-01-16 13:42:14 +00:00
crypto fix broken style(9) in r258399 2013-11-23 00:28:18 +00:00
ddb
dev This new version of netmap brings you the following: 2014-02-15 04:53:04 +00:00
fs ext2fs: Use i_flag instead of i_flags for Ext4 inode flags. 2014-01-28 14:39:05 +00:00
gdb
geom In g_eli_crypto_hmac_init(), zero out after using the ipad buffer, 2014-02-08 05:17:49 +00:00
gnu/fs/reiserfs
i386 provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 2014-02-14 15:18:37 +00:00
ia64 In pmap_set_pte(), make sure to enforce ordering by inserting a memory 2014-01-20 18:37:35 +00:00
isa
kern Include the CPU id in the per-CPU timer swi thread descriptions. 2014-02-14 23:19:51 +00:00
kgssapi
libkern Fix typo 2013-11-29 20:14:26 +00:00
mips Enable use of the PCIe connected wifi on the DB120 (AR9344) board. 2014-02-14 05:25:15 +00:00
modules This new version of netmap brings you the following: 2014-02-15 04:53:04 +00:00
net This new version of netmap brings you the following: 2014-02-15 04:53:04 +00:00
net80211 Another round of removing historical mbuf(9) allocator flags. 2014-01-16 13:44:47 +00:00
netatalk The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
netgraph Be much more specific (and correct) about the device id matching. 2014-01-09 15:31:44 +00:00
netinet Fixup for r261590 (vnet sysctl handlers cleanup). 2014-02-09 08:13:17 +00:00
netinet6 Further simplify nd6_output_lle. 2014-02-13 19:09:04 +00:00
netipsec Initialize prot variable. 2013-11-11 13:19:55 +00:00
netipx The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
netnatm Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
netpfil Once pf became not covered by a single mutex, many counters in it became 2014-02-14 10:05:21 +00:00
netsmb Catch up with sb_timeo type change in r255138. This fixes 2013-11-08 08:44:09 +00:00
nfs Move most of NFS file handle affinity code out of the heavily congested 2013-12-30 20:23:15 +00:00
nfsclient For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nfsserver Fix RPC server threads file handle affinity to work better with ZFS. 2013-12-23 08:43:16 +00:00
nlm Intermittent crashes in the NLM (rpc.lockd) code during system 2013-09-06 23:14:31 +00:00
ofed Simplify filling sockaddr_dl structure for if_resolvemulti() 2014-01-18 23:24:51 +00:00
opencrypto Prevent races in accesses of the software crypto session array. 2014-01-28 22:02:29 +00:00
pc98 Don't waste a page of KVA for the boot-time memory test on x86. For amd64, 2014-02-11 22:02:40 +00:00
pci - Implement the RX EARLYOFF and RXDV GATED bits as done by RealTek's Linux 2014-02-05 23:13:40 +00:00
powerpc Correct the order of arguments to mtx_init(). 2014-02-14 11:18:15 +00:00
rpc Fix lock acquisition in case no request space available, missed in r260097. 2014-02-04 00:00:01 +00:00
security As constantly reported during kernel compilation, m_buflen is unsigned so 2013-12-25 20:10:17 +00:00
sparc64 Add support for managing PCI bus numbers. As with BARs and PCI-PCI bridge 2014-02-12 04:30:37 +00:00
sys Bump __FreeBSD_version after the libc++ 3.4 ABI compatibility fix in 2014-02-14 08:42:39 +00:00
teken Fix typo. 2014-02-06 13:28:06 +00:00
tools dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
ufs Fine tune filesystem block allocations under low free-space 2013-12-30 17:04:24 +00:00
vm After r251709, avoid a clang 3.4 warning about an unused static const 2014-02-14 17:47:18 +00:00
x86 Add support for managing PCI bus numbers. As with BARs and PCI-PCI bridge 2014-02-12 04:30:37 +00:00
xdr
xen Remove redundant redeclaration of gdtset in sys/xen/xen-os.h, to silence 2013-10-18 17:06:13 +00:00
Makefile Add netpfil to CSCOPEDIRS. 2013-12-30 08:36:17 +00:00