freebsd-dev/sys/modules
John-Mark Gurney 08fca7a56b Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM.  Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values.  These use the NIST KAT test
vectors.  To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors.  Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated.  I have added a new man page, crypto.7,
which includes a description of how to use each mode.  All the new modes
and some other AES modes are present.  It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs.  Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place.  The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from:	p4: //depot/projects/opencrypto
Relnotes:	yes
Sponsored by:	FreeBSD Foundation
Sponsored by:	NetGate
2014-12-12 19:56:36 +00:00
..
3dfx
3dfx_linux
aac
aacraid
accf_data
accf_dns
accf_http
acl_nfs4
acl_posix1e
acpi Remove obsolete Makefile for acpi.ko. 2014-10-02 20:13:52 +00:00
ae
aesni Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
age
agp
aha
ahb
ahci
aic
aic7xxx
aio
alc
ale
alq
amdsbwd
amdtemp
amr
an
aout
apm
ar71xx
arcmsr
arcnet
asmc
asr
ata
ath
ath_ahb
ath_pci
autofs
auxio
bce Remove clean option 2014-09-17 22:26:01 +00:00
bfe
bge
bios
bktr
bm
bridgestp
bwi
bwn
bxe Remove clean option 2014-09-17 22:24:51 +00:00
cam
canbepm
canbus
cardbus
carp
cas
cbb
cc
cd9660
cd9660_iconv
ce
cfi
ciss
cm
cmx
coff
coretemp
cp
cpsw
cpuctl
cpufreq
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
cryptodev
cs
ct
ctau
ctl
cuse
cx
cxgb opt_global.h is never needed in SRCS lists. 2014-11-18 17:06:52 +00:00
cxgbe
dc
dcons
dcons_crom
de
digi
dpms
dpt Remove dpt_isa.c and commented out references to it. It was never connected 2014-11-13 20:00:54 +00:00
drm
drm2 Build ttm_agp_backend.c. 2014-10-31 10:45:34 +00:00
dtrace remove opensolaris cyclic code, replace with high-precision callouts 2014-12-07 11:21:41 +00:00
dummynet
ed
elink
em
en
ep
epic
esp
et
ex
exca
ext2fs
fatm
fdc Merge the PC98 fdc(4) driver into the MI driver. While here, replace 2014-09-25 20:40:24 +00:00
fdescfs
fe
filemon
firewire
firmware
fuse
fxp
gem
geom Implement the historic DIOCGDINFO ioctl for gpart on BSD 2014-11-18 17:06:40 +00:00
glxiic
glxsb
gpio
hatm
hifn
hme
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc
hyperv Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, 2014-09-13 02:15:31 +00:00
i2c Move all the power management (SMBus) drivers to their own directory, 2014-09-23 06:31:15 +00:00
ibcore
ibcs2
ichwd
ida
ie
if_bridge
if_disc
if_edsc
if_epair
if_gif Automate options INET/INET6 turning into MK_$opt_SUPPORT 2014-11-14 21:10:45 +00:00
if_gre Use automated MK_INET*_SUPPORT code here as well. 2014-11-18 01:39:23 +00:00
if_lagg
if_me Overhaul if_gre(4). 2014-11-07 19:13:19 +00:00
if_ndis
if_stf
if_tap
if_tun
if_vlan
if_vxlan Add vxlan interface 2014-10-20 14:42:42 +00:00
igb
iir
imgact_binmisc
io
ip6_mroute_mod
ip_mroute_mod
ipdivert
ipfilter
ipfw Merge projects/ipfw to HEAD. 2014-10-09 19:32:35 +00:00
ipfw_nat
ipmi
ipoib
ips
ipw
ipwfw
isci
iscsi
iscsi_initiator
isp
ispfw
iwi
iwifw
iwn
iwnfw
ixgb
ixgbe Disable flow-director support until it's been debugged and verified. 2014-09-15 21:09:19 +00:00
ixl
ixlv Update the Intel i40e drivers, ixl version 1.2.8, ixlv version 1.1.18 2014-11-06 23:45:05 +00:00
jme
joy There never was a PC Card joystick attachment that worked. Kill the 2014-11-22 20:31:20 +00:00
kbdmux
kgssapi
kgssapi_krb5
khelp
krpc
ksyms
le
lge
libalias
libiconv
libmbpool
libmchain
linprocfs
linsysfs
linux Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
lmc No need to list opt_global.h. No need to force ALTQ here, since that's 2014-11-18 17:06:54 +00:00
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
malo
mcd
md
mem
mfi
mii
mlx
mlx4 Hardware driver update from Mellanox Technologies, including: 2014-09-23 12:37:01 +00:00
mlx4ib
mlxen Hardware driver update from Mellanox Technologies, including: 2014-09-23 12:37:01 +00:00
mly
mmc
mmcsd
mpr
mps
mpt
mqueue
mrsas clean removes @ and machine now, so no need to do it again. 2014-11-06 16:48:35 +00:00
msdosfs
msdosfs_iconv
mse
msk
mthca
mvs
mwl
mwlfw
mxge
my
nand
nandfs
nandsim
ncr Remove the extra CFLAGS now that the driver has been fixed by jhb. 2014-10-02 18:45:00 +00:00
ncv
ndis
netfpga10g
netgraph
netmap add missing file 2014-09-25 14:25:38 +00:00
nfe
nfs_common
nfscl
nfsclient
nfscommon
nfsd
nfslock
nfslockd
nfsserver
nfssvc
nge
nmdm
nsp
ntb
nullfs
nvd
nvme
nvram
nxge
oce
opensolaris
padlock
padlock_rng This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
patm
pccard
pcfclock
pcn
pf
pflog
pfsync
plip
pmc
powermac_nvram
ppbus
ppc
ppi
pps
procfs
proto
pseudofs
pst
pty
puc
qlxgb There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
qlxgbe There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
qlxge There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
ral
ralfw
random Fix random.ko module. 2014-11-07 20:23:43 +00:00
rc
rc4
rdma
rdrand_rng This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
re
reiserfs
rl Move rl(4) to dev/rl. 2014-09-19 10:32:20 +00:00
rndtest
rp
s3
safe
sbni
scc
scd
scsi_low
sdhci
sdhci_pci
sem
send
sf
sfxge
sge
si
siba_bwn
siftr
siis
sio
sis
sk
smbfs
sn
snc
snp
sound Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
speaker
splash
sppp
ste
stg
stge
streams
svr4 These don't belong in the modules directory. 2014-11-06 16:52:51 +00:00
sym
syscons
sysvipc
ti
tl
tmpfs
toecore
tpm
trm
tsec
twa
twe
tws
tx
txp
uart
ubsec
ubser
uchcom
ucycom
udf
udf_iconv
ufs
unionfs
usb
utopia
vesa
vge
viawd
virtio Add VirtIO console driver 2014-10-23 04:47:32 +00:00
vkbd
vmm Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
vmware
vpo
vr
vte
vx
vxge
wb
wbwd
wds
wi
wl
wlan
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
wpi
wpifw
wtap
x86bios
xe
xl
zfs Instead of requiring an edit to turn on ZFS debugging, define ZFS_DEBUG. 2014-10-01 15:34:48 +00:00
zlib
Makefile remove opensolaris cyclic code, replace with high-precision callouts 2014-12-07 11:21:41 +00:00
Makefile.inc