freebsd-dev/sys
Fabien Thomas 39bbca6ffd crypto(9) is called from ipsec in CRYPTO_F_CBIFSYNC mode. This is working
fine when a lot of different flows to be ciphered/deciphered are involved.

However, when a software crypto driver is used, there are
situations where we could benefit from making crypto(9) multi threaded:
- a single flow is to be ciphered: only one thread is used to cipher it,
- a single ESP flow is to be deciphered: only one thread is used to
decipher it.

The idea here is to call crypto(9) using a new mode (CRYPTO_F_ASYNC) to
dispatch the crypto jobs on multiple threads, if the underlying crypto
driver is working in synchronous mode.

Another flag is added (CRYPTO_F_ASYNC_KEEPORDER) to make crypto(9)
dispatch the crypto jobs in the order they are received (an additional
queue/thread is used), so that the packets are reinjected in the network
using the same order they were posted.

A new sysctl net.inet.ipsec.async_crypto can be used to activate
this new behavior (disabled by default).

Submitted by:	Emeric Poupon <emeric.poupon@stormshield.eu>
Reviewed by:	ae, jmg, jhb
Differential Revision:    https://reviews.freebsd.org/D10680
Sponsored by:	Stormshield
2017-11-03 10:27:22 +00:00
..
amd64 Restore an optimization that was temporary disabled by r324665. 2017-11-01 18:06:44 +00:00
arm Take into account race conditions in case of accessed or modified bit 2017-11-02 14:08:38 +00:00
arm64 Allocate the ITS translation table with a 64k page alignment. This is the 2017-10-31 23:17:17 +00:00
boot This used to have bzip2 support too. 2017-11-02 19:53:51 +00:00
bsm
cam Send IDLE IMMEDIATE for warm boot. 2017-10-30 03:25:22 +00:00
cddl Disable posix_fallocate(2) for ZFS 2017-11-02 13:49:08 +00:00
compat Implement ioread16be() in the LinuxKPI. 2017-11-01 12:34:18 +00:00
conf [i2c/clock] add support for EPSON RTC-8583 2017-10-31 12:15:00 +00:00
contrib Rename a couple files to not conflict with ZFS filenames 2017-11-01 03:09:16 +00:00
crypto aesni(4): CRYPTO_AES_NIST_GCM_16 mandates MAC 2017-10-04 21:15:45 +00:00
ddb Rename mkdumpheader() and group EKCD functions in kern_shutdown.c. 2017-08-18 04:04:09 +00:00
dev Fix interrupt handling for dtsec 2017-11-02 04:07:41 +00:00
fs Fix physical block number overflow in different places. 2017-10-24 20:10:08 +00:00
gdb gdb kernel server: fixup Search:memory style 2017-10-17 01:12:17 +00:00
geom geom_slice: fix r325227, protect against multiple calls to g_slice_free 2017-11-01 10:53:10 +00:00
gnu dts: Update our device tree sources file fomr Linux 4.13 2017-10-21 15:47:40 +00:00
i386 Consistently ensure that we do not load MXCSR with reserved bits set. 2017-11-01 10:32:44 +00:00
isa Use better hard-coded defaults for the cursor shape, and remove nearby 2017-08-19 19:33:16 +00:00
kern namecache: fix .. check broken after r324378 2017-11-01 08:40:04 +00:00
kgssapi
libkern Continuing efforts to provide hardening of FFS, this change adds a 2017-09-22 12:45:15 +00:00
mips [mips] Pin control configuration for MediaTek RT2880 2017-10-31 11:29:16 +00:00
modules Enable i386 build of the Cavium LiquidIO driver (lio) module. 2017-10-25 17:49:17 +00:00
net epair: Fix panic on unload 2017-11-01 14:27:26 +00:00
net80211 [net80211] don't try to follow a NULL rxs pointer down the sink. 2017-10-13 06:49:07 +00:00
netgraph Correction after r323873: #include <sys/lock.h> in addition to <sys/rmlock.h> 2017-09-28 11:26:37 +00:00
netinet Fix the reporting of the MTU for SCTP sockets when using IPv6. 2017-11-01 16:32:11 +00:00
netinet6 Evaluate packet size after the firewall had its chance in the ip6 fast path 2017-10-25 19:21:48 +00:00
netipsec crypto(9) is called from ipsec in CRYPTO_F_CBIFSYNC mode. This is working 2017-11-03 10:27:22 +00:00
netpfil Fix Dummynet AQM packet marking function ecn_mark() and fq_codel / 2017-10-26 10:11:35 +00:00
netsmb netsmb: Fix buggy/racy smb_strdupin() 2017-09-29 15:53:26 +00:00
nfs
nfsclient
nfsserver
nlm
ofed The remote DMA TCP portspace selector, RDMA_PS_TCP, is used for both 2017-10-20 08:20:15 +00:00
opencrypto crypto(9) is called from ipsec in CRYPTO_F_CBIFSYNC mode. This is working 2017-11-03 10:27:22 +00:00
powerpc Fix integer type and format in debug print 2017-11-03 03:13:15 +00:00
riscv Update several more URLs 2017-10-29 08:17:03 +00:00
rpc
security Sprinkle __read_frequently on few obvious places. 2017-09-06 20:33:33 +00:00
sparc64 Update several more URLs 2017-10-29 08:17:03 +00:00
sys Do not run pmclog_configure_log() without pmc_sx protection. 2017-11-01 11:43:39 +00:00
teken Fix syscons escape sequence for setting the local cursor type. This sequence 2017-08-18 15:40:40 +00:00
tests
tools embed_mfs: add error handling, usage 2017-10-17 21:13:26 +00:00
ufs Remove a stale and incorrect comment. 2017-10-28 02:51:27 +00:00
vm Micro-optimize the handling of fictitious pages in vm_page_free_prep(). 2017-10-24 17:14:53 +00:00
x86 Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
xdr
xen
Makefile