blob: 176b943dfec93f57df10f6c4fda13e848a591522 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001menuconfig INFINIBAND
2 tristate "InfiniBand support"
3 depends on HAS_IOMEM && HAS_DMA
4 depends on NET
5 depends on INET
6 depends on m || IPV6 != m
7 depends on !ALPHA
8 select IRQ_POLL
9 ---help---
10 Core support for InfiniBand (IB). Make sure to also select
11 any protocols you wish to use as well as drivers for your
12 InfiniBand hardware.
13
14if INFINIBAND
15
16config INFINIBAND_USER_MAD
17 tristate "InfiniBand userspace MAD support"
18 depends on INFINIBAND
19 ---help---
20 Userspace InfiniBand Management Datagram (MAD) support. This
21 is the kernel side of the userspace MAD support, which allows
22 userspace processes to send and receive MADs. You will also
23 need libibumad from rdma-core
24 <https://github.com/linux-rdma/rdma-core>.
25
26config INFINIBAND_USER_ACCESS
27 tristate "InfiniBand userspace access (verbs and CM)"
28 ---help---
29 Userspace InfiniBand access support. This enables the
30 kernel side of userspace verbs and the userspace
31 communication manager (CM). This allows userspace processes
32 to set up connections and directly access InfiniBand
33 hardware for fast-path operations. You will also need
34 libibverbs, libibcm and a hardware driver library from
35 rdma-core <https://github.com/linux-rdma/rdma-core>.
36
37config INFINIBAND_USER_ACCESS_UCM
38 tristate "Userspace CM (UCM, DEPRECATED)"
39 depends on BROKEN || COMPILE_TEST
40 depends on INFINIBAND_USER_ACCESS
41 help
42 The UCM module has known security flaws, which no one is
43 interested to fix. The user-space part of this code was
44 dropped from the upstream a long time ago.
45
46 This option is DEPRECATED and planned to be removed.
47
48config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI
49 bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)"
50 depends on INFINIBAND_USER_ACCESS
51 ---help---
52 IOCTL based uAPI support for Infiniband is enabled by default for
53 new verbs only. This allows userspace to invoke the IOCTL based uAPI
54 for current legacy verbs too.
55
56config INFINIBAND_USER_MEM
57 bool
58 depends on INFINIBAND_USER_ACCESS != n
59 depends on MMU
60 default y
61
62config INFINIBAND_ON_DEMAND_PAGING
63 bool "InfiniBand on-demand paging support"
64 depends on INFINIBAND_USER_MEM
65 select MMU_NOTIFIER
66 default y
67 ---help---
68 On demand paging support for the InfiniBand subsystem.
69 Together with driver support this allows registration of
70 memory regions without pinning their pages, fetching the
71 pages on demand instead.
72
73config INFINIBAND_ADDR_TRANS
74 bool "RDMA/CM"
75 depends on INFINIBAND
76 default y
77 ---help---
78 Support for RDMA communication manager (CM).
79 This allows for a generic connection abstraction over RDMA.
80
81config INFINIBAND_ADDR_TRANS_CONFIGFS
82 bool
83 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m)
84 default y
85 ---help---
86 ConfigFS support for RDMA communication manager (CM).
87 This allows the user to config the default GID type that the CM
88 uses for each device, when initiaing new connections.
89
90source "drivers/infiniband/hw/mthca/Kconfig"
91source "drivers/infiniband/hw/qib/Kconfig"
92source "drivers/infiniband/hw/cxgb3/Kconfig"
93source "drivers/infiniband/hw/cxgb4/Kconfig"
94source "drivers/infiniband/hw/i40iw/Kconfig"
95source "drivers/infiniband/hw/mlx4/Kconfig"
96source "drivers/infiniband/hw/mlx5/Kconfig"
97source "drivers/infiniband/hw/nes/Kconfig"
98source "drivers/infiniband/hw/ocrdma/Kconfig"
99source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
100source "drivers/infiniband/hw/usnic/Kconfig"
101source "drivers/infiniband/hw/hns/Kconfig"
102
103source "drivers/infiniband/ulp/ipoib/Kconfig"
104
105source "drivers/infiniband/ulp/srp/Kconfig"
106source "drivers/infiniband/ulp/srpt/Kconfig"
107
108source "drivers/infiniband/ulp/iser/Kconfig"
109source "drivers/infiniband/ulp/isert/Kconfig"
110
111source "drivers/infiniband/ulp/opa_vnic/Kconfig"
112source "drivers/infiniband/sw/rdmavt/Kconfig"
113source "drivers/infiniband/sw/rxe/Kconfig"
114
115source "drivers/infiniband/hw/hfi1/Kconfig"
116
117source "drivers/infiniband/hw/qedr/Kconfig"
118
119source "drivers/infiniband/hw/bnxt_re/Kconfig"
120
121endif # INFINIBAND