freebsd-nq/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
acl_posix1e
acpi
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
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
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
aout
apm
ar71xx
arcmsr
arcnet
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
auxio
bce
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
bwn Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
bxe
cam
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
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
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
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
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
fdc
fdescfs
fe
filemon Updated depends 2015-07-03 06:11:54 +00:00
firewire
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
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
if_disc
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
if_me
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
if_tun
if_vlan
if_vxlan
igb
iir
imgact_binmisc
io
ioat Import ioat(4) driver 2015-08-24 19:32:03 +00:00
ip6_mroute_mod
ip_mroute_mod
ipdivert
ipfilter Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support 2015-01-03 03:35:18 +00:00
ipfw
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
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
iwnfw
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
krpc
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
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
nandsim Kill MFILES and find things automatically. It turned out to be only 2015-07-03 01:50:26 +00:00
ncr
ncv
ndis
netfpga10g
netgraph
netmap
nfe
nfscl
nfscommon
nfsd
nfslock
nfslockd
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
ow New 1-Wire bus implementation. 1-Wire controller is abstracted, though 2015-08-27 23:33:38 +00:00
padlock
padlock_rng
patm
pccard
pcfclock
pcn
pf
pflog
pfsync
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
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
qlxgbe Updated Copyright information 2015-06-23 22:22:36 +00:00
qlxge
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
rdrand_rng
re
reiserfs
rl
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
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
siis
sio
sis
sk
smbfs
sn
snc
snp
sound
speaker
splash
sppp
ste
stg
stge
streams
svr4
sym
syscons
sysvipc
ti
tl
tmpfs
toecore
tpm
trm
tsec
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
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
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
wi
wl
wlan Refactor and split out the net80211 software scan engine from the rest 2015-01-06 02:08:45 +00:00
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
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