File: rdma-hw-modules.rules

package info (click to toggle)
rdma-core 33.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,844 kB
  • sloc: ansic: 145,804; python: 5,688; sh: 2,761; perl: 1,465; makefile: 73
file content (46 lines) | stat: -rw-r--r-- 1,806 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ACTION=="remove", GOTO="rdma_hw_modules_end"

SUBSYSTEM!="net", GOTO="rdma_hw_modules_net_end"
# For Ethernet cards with RoCE support
# Automatically load RDMA specific kernel modules when a multi-function device is installed
# These drivers autoload an ethernet driver based on hardware detection and
# need userspace to load the module that has their RDMA component to turn on
# RDMA.

ENV{ID_NET_DRIVER}=="be2net", RUN{builtin}+="kmod load ocrdma"
ENV{ID_NET_DRIVER}=="bnxt_en", RUN{builtin}+="kmod load bnxt_re"
ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
ENV{ID_NET_DRIVER}=="mlx4_en", RUN{builtin}+="kmod load mlx4_ib"
ENV{ID_NET_DRIVER}=="mlx5_core", RUN{builtin}+="kmod load mlx5_ib"
ENV{ID_NET_DRIVER}=="qede", RUN{builtin}+="kmod load qedr"

# The user must explicitly load these modules via /etc/modules-load.d/ or otherwise
# rxe

# enic no longer has a userspace verbs driver, this rule should probably be
# owned by libfabric
ENV{ID_NET_DRIVER}=="enic", RUN{builtin}+="kmod load usnic_verbs"

# These providers are single function and autoload RDMA automatically based on
# PCI probing
# hfi1verbs
# ipathverbs
# mthca
# vmw_pvrdma

LABEL="rdma_hw_modules_net_end"

SUBSYSTEM!="pci", GOTO="rdma_hw_modules_pci_end"
# For InfiniBand cards
# Normally the request_module inside the driver will trigger this, but in case that fails due to
# missing modules in the initrd, trigger it again. HW that doesn't create a netdevice will not
# trigger the net based rules above.

ENV{DRIVER}=="mlx4_core", RUN{builtin}+="kmod load mlx4_ib"
ENV{DRIVER}=="mlx5_core", RUN{builtin}+="kmod load mlx5_ib"

LABEL="rdma_hw_modules_pci_end"

LABEL="rdma_hw_modules_end"