1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "InfiniBand support"
4 depends on HAS_IOMEM && HAS_DMA
7 depends on m || IPV6 != m
12 Core support for InfiniBand (IB). Make sure to also select
13 any protocols you wish to use as well as drivers for your
18 config INFINIBAND_USER_MAD
19 tristate "InfiniBand userspace MAD support"
22 Userspace InfiniBand Management Datagram (MAD) support. This
23 is the kernel side of the userspace MAD support, which allows
24 userspace processes to send and receive MADs. You will also
25 need libibumad from rdma-core
26 <https://github.com/linux-rdma/rdma-core>.
28 config INFINIBAND_USER_ACCESS
29 tristate "InfiniBand userspace access (verbs and CM)"
32 Userspace InfiniBand access support. This enables the
33 kernel side of userspace verbs and the userspace
34 communication manager (CM). This allows userspace processes
35 to set up connections and directly access InfiniBand
36 hardware for fast-path operations. You will also need
37 libibverbs, libibcm and a hardware driver library from
38 rdma-core <https://github.com/linux-rdma/rdma-core>.
40 config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
41 bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)"
42 depends on INFINIBAND_USER_ACCESS
44 IOCTL based uAPI support for Infiniband is enabled by default for
45 new verbs only. This allows userspace to invoke the IOCTL based uAPI
46 for current legacy verbs too.
48 config INFINIBAND_USER_MEM
50 depends on INFINIBAND_USER_ACCESS != n
54 config INFINIBAND_ON_DEMAND_PAGING
55 bool "InfiniBand on-demand paging support"
56 depends on INFINIBAND_USER_MEM
61 On demand paging support for the InfiniBand subsystem.
62 Together with driver support this allows registration of
63 memory regions without pinning their pages, fetching the
64 pages on demand instead.
66 config INFINIBAND_ADDR_TRANS
71 Support for RDMA communication manager (CM).
72 This allows for a generic connection abstraction over RDMA.
74 config INFINIBAND_ADDR_TRANS_CONFIGFS
76 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
79 ConfigFS support for RDMA communication manager (CM).
80 This allows the user to config the default GID type that the CM
81 uses for each device, when initiaing new connections.
83 if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
84 source "drivers/infiniband/hw/mthca/Kconfig"
85 source "drivers/infiniband/hw/qib/Kconfig"
86 source "drivers/infiniband/hw/cxgb4/Kconfig"
87 source "drivers/infiniband/hw/efa/Kconfig"
88 source "drivers/infiniband/hw/i40iw/Kconfig"
89 source "drivers/infiniband/hw/mlx4/Kconfig"
90 source "drivers/infiniband/hw/mlx5/Kconfig"
91 source "drivers/infiniband/hw/ocrdma/Kconfig"
92 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
93 source "drivers/infiniband/hw/usnic/Kconfig"
94 source "drivers/infiniband/hw/hns/Kconfig"
95 source "drivers/infiniband/hw/bnxt_re/Kconfig"
96 source "drivers/infiniband/hw/hfi1/Kconfig"
97 source "drivers/infiniband/hw/qedr/Kconfig"
98 source "drivers/infiniband/sw/rdmavt/Kconfig"
99 source "drivers/infiniband/sw/rxe/Kconfig"
100 source "drivers/infiniband/sw/siw/Kconfig"
103 source "drivers/infiniband/ulp/ipoib/Kconfig"
105 source "drivers/infiniband/ulp/srp/Kconfig"
106 source "drivers/infiniband/ulp/srpt/Kconfig"
108 source "drivers/infiniband/ulp/iser/Kconfig"
109 source "drivers/infiniband/ulp/isert/Kconfig"
111 source "drivers/infiniband/ulp/opa_vnic/Kconfig"