HEX
Server: Apache/2.4.6 () OpenSSL/1.0.2k-fips PHP/8.3.8
System: Linux gateway.rmc-logistics.net 4.1.12-124.48.6.el7uek.x86_64 #2 SMP Tue Mar 16 14:57:50 PDT 2021 x86_64
User: apache (48)
PHP: 8.3.8
Disabled: NONE
Upload Files
File: //lib/udev/rules.d/90-rdma-hw-modules.rules
ACTION=="remove", GOTO="rdma_hw_modules_end"
SUBSYSTEM!="net", GOTO="rdma_hw_modules_end"

# 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}=="cxgb3", RUN{builtin}+="kmod load iw_cxgb3"
ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
# i40iw is not entirely suspend/resume friendly, and many systems with
# i40e NICs aren't iwarp-capable, so Red Hat defaults to not auto-loading
# the i40iw driver here to keep suspend/resume working. The i40iw driver
# can still be loaded as needed by the rdma systemd service script.
# 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

# When in IB mode the kernel PCI core module autoloads the protocol modules
# for these providers
# mlx4
# mlx5

# 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
# nes

LABEL="rdma_hw_modules_end"