freebsd-dev/sys/modules
Alexander Motin 7ac58230ea Reimplement CTL High Availability.
CTL HA functionality was originally implemented by Copan many years ago,
but large part of the sources was never published.  This change includes
clean room implementation of the missing code and fixes for many bugs.

This code supports dual-node HA with ALUA in four modes:
 - Active/Unavailable without interlink between nodes;
 - Active/Standby with second node handling only basic LUN discovery and
reservation, synchronizing with the first node through the interlink;
 - Active/Active with both nodes processing commands and accessing the
backing storage, synchronizing with the first node through the interlink;
 - Active/Active with second node working as proxy, transfering all
commands to the first node for execution through the interlink.

Unlike original Copan's implementation, depending on specific hardware,
this code uses simple custom TCP-based protocol for interlink.  It has
no authentication, so it should never be enabled on public interfaces.

The code may still need some polishing, but generally it is functional.

Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2015-09-10 12:40:31 +00:00
..
3dfx
3dfx_linux
aac
aacraid
accf_data
accf_dns
accf_http
acl_nfs4 Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
acl_posix1e Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
acpi Remove obsolete Makefile for acpi.ko. 2014-10-02 20:13:52 +00:00
ae
aesni improve dependencies for this module a bit... not great, but at 2015-07-04 08:16:32 +00:00
age
agp Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
aha
ahb
ahci Separate out PCI attachment from the main AHCI driver. Move checks of 2014-09-04 22:22:53 +00:00
aic
aic7xxx Use .MAKE.LEVEL being defined as a bootstrap aid when providing 2015-01-10 23:43:39 +00:00
aio
alc
ale
alq Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
am335x_dmtpps Add required foo_if.h files to SRCS to fix build errors. 2015-08-19 02:37:30 +00:00
amdsbwd
amdtemp
amr
an Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
aout
apm
ar71xx
arcmsr
arcnet Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
asmc
ata Remove from legacy ata(4) driver support for hardware, supported by newer 2015-03-24 18:09:07 +00:00
ath Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
ath_ahb
ath_pci
autofs Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
auxio
bce Remove clean option 2014-09-17 22:26:01 +00:00
bfe
bge
bios Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
bktr
bm
bridgestp
bwi Strip out this cruft; people should be making modules with a complete 2013-11-09 08:11:24 +00:00
bwn Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
bxe Remove clean option 2014-09-17 22:24:51 +00:00
cam Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
canbepm
canbus
cardbus On x86 force NEW_PCIB, since that's the default. While this option 2015-01-14 05:41:28 +00:00
carp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
cas
cbb On x86 force NEW_PCIB, since that's the default. While this option 2015-01-14 05:41:28 +00:00
cc DCTCP (Data Center TCP) implementation. 2015-01-12 08:33:04 +00:00
cd9660
cd9660_iconv
ce Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
cfi
ciss
cloudabi Add Makefiles for CloudABI kernel modules. 2015-07-22 07:32:49 +00:00
cloudabi64 Add Makefiles for CloudABI kernel modules. 2015-07-22 07:32:49 +00:00
cm
cmx
coff
coretemp
cp
cpsw
cpuctl
cpufreq
crypto Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
cryptodev Fix make depend in sys/modules 2014-12-19 06:51:01 +00:00
cs
ct
ctau
ctl Reimplement CTL High Availability. 2015-09-10 12:40:31 +00:00
cuse Initial import of character device in userspace support for FreeBSD. 2014-05-23 08:46:28 +00:00
cx
cxgb opt_global.h is never needed in SRCS lists. 2014-11-18 17:06:52 +00:00
cxgbe cxgbe(4): Update T5 and T4 firmwares bundled with the driver to 1.14.4.0. The 2015-08-05 19:45:11 +00:00
dc
dcons
dcons_crom
de
digi
dpms
dpt Cleanup the way we include some files (in this case EISA) based on 2015-02-18 15:25:22 +00:00
drm The radeon DRI module doesn't really work correctly on powerpc, so don't build 2015-01-03 22:36:18 +00:00
drm2 drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
dtb Add the Banana Pi DTS. 2015-07-07 19:01:54 +00:00
dtrace Implement the lockstat provider using SDT(9) instead of the custom provider 2015-07-19 22:14:09 +00:00
dummynet Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ed Cleanup the way we include some files (in this case EISA) based on 2015-02-18 15:25:22 +00:00
elink
em Include opt_em.h now that there are actual kernel compile options for em(4). 2015-06-09 14:31:18 +00:00
en Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ep Cleanup the way we include some files (in this case EISA) based on 2015-02-18 15:25:22 +00:00
epic
esp
et
ex
exca
ext2fs Drop experimental dir_index support. 2015-04-17 22:26:01 +00:00
fatm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
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 Updated depends 2015-07-03 06:11:54 +00:00
firewire Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
firmware
fuse
fxp
gem
geom Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
glxiic
glxsb
gpio Fix the build of gpiobus as a module. 2015-08-17 17:01:26 +00:00
hatm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
hifn
hme
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc Implement hwpmc(4) for Freescale e500 core. 2015-04-18 21:39:17 +00:00
hyperv - Fix make depend in sys/modules 2015-06-30 19:35:14 +00:00
i2c isl(4), driver for Intersil I2C ISL29018 Digital Ambient Light Sensor 2015-07-25 20:17:19 +00:00
ibcore Globally enable -fms-extensions when building kernel with gcc, and remove 2015-02-17 19:27:14 +00:00
ibcs2
ichwd
ida
ie
if_bridge Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_disc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_edsc
if_epair
if_gif Clean up a bit of the INET/INET6 mess wrt options. 2015-02-18 15:25:25 +00:00
if_gre Clean up a bit of the INET/INET6 mess wrt options. 2015-02-18 15:25:25 +00:00
if_lagg Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_me Overhaul if_gre(4). 2014-11-07 19:13:19 +00:00
if_ndis
if_stf Build if_stf(4) module only when both INET and INET6 support are enabled. 2015-07-30 10:26:43 +00:00
if_tap Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_tun Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
if_vlan
if_vxlan Add vxlan interface 2014-10-20 14:42:42 +00:00
igb Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
iir
imgact_binmisc Add Stacey Son's binary activation patches that allow remapping of 2014-04-08 20:10:22 +00:00
io
ioat Import ioat(4) driver 2015-08-24 19:32:03 +00:00
ip6_mroute_mod Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ip_mroute_mod Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ipdivert Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ipfilter Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
ipfw Merge projects/ipfw to HEAD. 2014-10-09 19:32:35 +00:00
ipfw_nat
ipmi
ipoib Globally enable -fms-extensions when building kernel with gcc, and remove 2015-02-17 19:27:14 +00:00
ips Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
ipw
ipwfw
isci
iscsi Add kobj interface between ICL and the rest of the iSCSI stack. 2015-01-31 07:49:50 +00:00
iscsi_initiator Move the old iSCSI initiator source to a more appropriate place 2013-08-22 14:02:34 +00:00
isp
ispfw
iwi
iwifw
iwm Build the iwm and iwmfw modules by default on x86. 2015-08-08 21:09:41 +00:00
iwmfw iwmfw: fix the path to the firmware file. 2015-08-08 06:08:20 +00:00
iwn Add missing depend. 2013-08-03 08:21:35 +00:00
iwnfw Add iwn-100 firmware. 2014-08-28 00:05:02 +00:00
ix Include makefiles necessary to make ixgbe build with the new code. 2015-04-30 22:56:43 +00:00
ixgb
ixl Update SW4 to the Intel ixl/ixlv drivers. This is primarily a shared 2015-06-05 22:52:42 +00:00
ixlv Update SW4 to the Intel ixl/ixlv drivers. This is primarily a shared 2015-06-05 22:52:42 +00:00
ixv Several build changes for ix and ixv: 2015-06-24 15:53:52 +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 Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
kgssapi_krb5 Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
khelp Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
krpc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ksyms Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
le
lge
libalias
libiconv Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
libmbpool
libmchain
linprocfs Introduce a new module linux_common.ko which is intended for the 2015-05-24 15:51:18 +00:00
linsysfs Introduce a new module linux_common.ko which is intended for the 2015-05-24 15:51:18 +00:00
linux For objcopy, use --input-target and --output-target 2015-05-25 01:07:55 +00:00
linux64 For objcopy, use --input-target and --output-target 2015-05-25 01:07:55 +00:00
linux_common Rework signal code to allow using it by other modules, like linprocfs: 2015-05-24 17:47:20 +00:00
linuxapi Start importing the basic OFED linux compatibility layer changes made 2015-01-17 16:36:39 +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 Globally enable -fms-extensions when building kernel with gcc, and remove 2015-02-17 19:27:14 +00:00
mlx4ib Globally enable -fms-extensions when building kernel with gcc, and remove 2015-02-17 19:27:14 +00:00
mlxen Factor out mbuf hashing code from LAGG driver so that other network 2015-03-11 16:02:24 +00:00
mly
mmc
mmcsd
mpr Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
mps Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
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 Globally enable -fms-extensions when building kernel with gcc, and remove 2015-02-17 19:27:14 +00:00
mvs Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
mwl
mwlfw
mxge
my
nand Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
nandfs Include opt_ddb.h in the list of SRCS, since we include it. 2014-04-16 19:49:44 +00:00
nandsim Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
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 Introduce opt_netfpga.h and allow setting NF10BMAC_64BIT from mips kernel 2014-06-26 17:20:45 +00:00
netgraph Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
netmap add missing file 2014-09-25 14:25:38 +00:00
nfe
nfscl Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfscommon - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfsd
nfslock
nfslockd Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
nfssvc
nge
nmdm
nsp
ntb
nullfs
nvd
nvme
nvram
nxge Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
oce Rename the kld for oce(4) to if_oce.ko. ifconfig(8) has special knowledge 2015-04-24 14:47:53 +00:00
opensolaris Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIR 2014-03-06 01:59:13 +00:00
ow New 1-Wire bus implementation. 1-Wire controller is abstracted, though 2015-08-27 23:33:38 +00:00
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 Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pccard
pcfclock
pcn
pf Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pflog Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
pfsync Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
plip
pmc
pms Driver 'pmspcv' added. Supports PMC-Sierra PM8001/8081/8088/8089/8074/8076/8077 SAS/SATA HBA Controllers. 2015-07-07 13:17:02 +00:00
powermac_nvram
ppbus
ppc Remove ia64. 2014-07-07 00:27:09 +00:00
ppi
pps
procfs
proto Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
pseudofs Hide vfs.pfs.trace variable if it is not used. 2015-05-24 18:11:22 +00:00
pst
pty
puc Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
qlxgb There's no need to override the clean target. The clean target works 2014-10-16 20:13:16 +00:00
qlxgbe Updated Copyright information 2015-06-23 22:22:36 +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_fortuna Add DEV_RANDOM pseudo-option and use it to "include out" random(4) 2015-08-17 07:36:12 +00:00
random_other Add DEV_RANDOM pseudo-option and use it to "include out" random(4) 2015-08-17 07:36:12 +00:00
random_yarrow Add DEV_RANDOM pseudo-option and use it to "include out" random(4) 2015-08-17 07:36:12 +00:00
rc
rc4
rccgpio Add the GPIO driver for the ADI Engineering RCC-VE and RCC-DFF/DFFv2. 2015-08-18 21:05:56 +00:00
rdma Delete all of the old RDMA code (except krping, which was switched to 2013-10-14 22:39:08 +00:00
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 Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
scd
scsi_low
sdhci
sdhci_pci
sem
send - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
sf
sfxge sfxge: do not use DEBUG_FLAGS to enable extra debug checks 2015-05-29 05:44:56 +00:00
sge
si Cleanup the way we include some files (in this case EISA) based on 2015-02-18 15:25:22 +00:00
siba_bwn
siftr Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
siis
sio
sis
sk
smbfs Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
sn
snc Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
snp
sound Retire the '@' symlink. It isn't really needed and causes more 2014-11-06 16:48:37 +00:00
speaker
splash
sppp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
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 Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +00:00
tl
tmpfs
toecore
tpm
trm Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
tsec Build tsec(4) as a module. 2014-07-26 17:59:25 +00:00
twa
twe
tws
tx
txp
uart Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
ubsec
ubser
uchcom
ucycom
udf
udf_iconv
ufs Initialize the pbuf counter for directio using SYSINIT, instead of 2014-06-08 10:55:06 +00:00
unionfs
usb Add USB gold driver to default kernel build. 2015-06-19 06:48:55 +00:00
utopia
vesa
vge
viawd
videomode Import videomode code from NetBSD which is needed by USB display link drivers. 2015-02-15 11:37:40 +00:00
virtio Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
vkbd
vmm Use lapic_ipi_alloc() to dynamically allocate IPI slots needed by bhyve when 2015-03-14 02:32:08 +00:00
vmware Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
vpo
vr
vte
vx Cleanup the way we include some files (in this case EISA) based on 2015-02-18 15:25:22 +00:00
vxge
wb
wbwd
wds Add kernel modules for si(4), wds(4), and wl(4). 2014-08-20 16:09:05 +00:00
wi Remove duplicate SRCS include block. Spotted by jmallett. 2013-07-31 01:42:59 +00:00
wl Add kernel modules for si(4), wds(4), and wl(4). 2014-08-20 16:09:05 +00:00
wlan Refactor and split out the net80211 software scan engine from the rest 2015-01-06 02:08:45 +00:00
wlan_acl Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_amrr Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_ccmp Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_rssadapt Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_tkip Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_wep Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wlan_xauth Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
wpi Add WPI_DEBUG option. 2015-02-07 23:09:03 +00:00
wpifw
wtap
x86bios
xe
xl
zfs Revert r286984 (adding opt_random.h to sys/modules/zfs/Makefile) 2015-09-08 08:54:40 +00:00
zlib Move zlib.c from net to libkern. 2015-04-22 18:15:18 +00:00
Makefile New 1-Wire bus implementation. 1-Wire controller is abstracted, though 2015-08-27 23:33:38 +00:00
Makefile.inc