freebsd-dev/sys
Vincenzo Maffione 2e42b74a6f vtnet: fix netmap support
netmap(4) support for vtnet(4) was incomplete and had multiple bugs.
This commit fixes those bugs to bring netmap on vtnet in a functional state.

Changelist:
  - handle errors returned by virtqueue_enqueue() properly (they were
    previously ignored)
  - make sure netmap XOR rest of the kernel access each virtqueue.
  - compute the number of netmap slots for TX and RX separately, according to
    whether indirect descriptors are used or not for a given virtqueue.
  - make sure sglist are freed according to their type (mbufs or netmap
    buffers)
  - add support for mulitiqueue and netmap host (aka sw) rings.
  - intercept VQ interrupts directly instead of intercepting them in txq_eof
    and rxq_eof. This simplifies the code and makes it easier to make sure
    taskqueues are not running for a VQ while it is in netmap mode.
  - implement vntet_netmap_config() to cope with changes in the number of queues.

Reviewed by:	bryanv
Approved by:	gnn (mentor)
MFC after:	3 days
Sponsored by:	Sunny Valley Networks
Differential Revision:	https://reviews.freebsd.org/D17916
2018-11-14 15:39:48 +00:00
..
amd64 Add ZFS to amd64 NOTES to catch future breakage of static linking 2018-11-13 23:08:46 +00:00
arm Add the driver for the SPI controller on ARMADA38X. 2018-11-14 14:26:32 +00:00
arm64 Drop the legacy ELF brandinfo for the old rtld from arm64 and riscv. 2018-11-07 18:28:55 +00:00
bsm
cam Only assert locked for many async events. 2018-11-05 18:47:29 +00:00
cddl Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
compat Use the main capabilities.conf for freebsd32. 2018-11-14 00:46:02 +00:00
conf dtb.mk: Fix passing of ECHO to make_dtb{,o}.sh 2018-11-12 17:10:44 +00:00
contrib Ensure that libnv can be used when kern.trap_enotcap=1. 2018-11-13 20:07:55 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev vtnet: fix netmap support 2018-11-14 15:39:48 +00:00
dts Fix test-dts{,o} targets 2018-11-12 22:18:11 +00:00
fs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
gdb
geom Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out, 2018-11-07 16:28:09 +00:00
gnu Update our devicetree to 4.19 for arm and arm64 2018-11-10 21:02:32 +00:00
i386 Add evdev support to amd64 and i386 kernels 2018-11-12 21:01:28 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Use the main capabilities.conf for freebsd32. 2018-11-14 00:46:02 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
modules Retire CLANG_NO_IAS34 2018-11-01 23:11:47 +00:00
net Prevent POLA violation with TSO/CSUM offload 2018-11-14 15:23:39 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
netinet Ensure that IP fragments do not extend beyond IP_MAXPACKET. 2018-11-10 03:00:36 +00:00
netinet6 Add ability to use dynamic external prefix in ipfw_nptv6 module. 2018-11-12 11:20:59 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil Add ability to use dynamic external prefix in ipfw_nptv6 module. 2018-11-12 11:20:59 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9). 2018-06-16 08:26:23 +00:00
nfsclient
nfsserver
nlm
ofed Introduce and use sgid_index in CM requests in ibcore. 2018-09-09 07:20:15 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc powerpc64: reduce GENERIC64 diff versus amd64 GENERIC 2018-11-13 09:19:07 +00:00
riscv RISC-V: Implement get_cyclecount(9). 2018-11-13 18:20:27 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Add const to input-only char * arguments. 2018-11-02 20:50:22 +00:00
sparc64 Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
sys The dualism between epoch_tracker and epoch_thread is fragile and 2018-11-13 23:20:55 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s 2018-11-09 18:56:40 +00:00
ufs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
vm Add accounting to per-domain UMA full bucket caches. 2018-11-13 19:44:40 +00:00
x86 Apply fix to un-cripple max cpu id on BSP earlier. 2018-11-12 19:17:26 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile