diff --git a/elements/mellanox/element-deps b/elements/mellanox/element-deps new file mode 100644 index 000000000..73015c249 --- /dev/null +++ b/elements/mellanox/element-deps @@ -0,0 +1,2 @@ +package-installs +pkg-map diff --git a/elements/mellanox/init.d/01-mellanox b/elements/mellanox/init.d/01-mellanox index 2608ca22c..106e29a51 100644 --- a/elements/mellanox/init.d/01-mellanox +++ b/elements/mellanox/init.d/01-mellanox @@ -1,3 +1,7 @@ # extra load for mellanox modprobe mlx4_en - +modprobe mlx4_ib +modprobe ib_ipoib +modprobe mlx5_ib +modprobe ib_umad +modprobe ib_uverbs diff --git a/elements/mellanox/install.d/65-mellanox b/elements/mellanox/install.d/65-mellanox index ddf0c6206..0ece9b6dd 100755 --- a/elements/mellanox/install.d/65-mellanox +++ b/elements/mellanox/install.d/65-mellanox @@ -10,4 +10,12 @@ set -o pipefail home=$(dirname $0) install -m 0644 -o root -g root $home/mellanox-rules.udev /etc/udev/rules.d/81-mellanox.rules + +# needed kernel modules; mlx4_en mlx4_ib ib_ipoib mlx5_ib ib_umad ib_uverbs +# mlx5_core loaded by mlx5_ib echo "mlx4_en" >>/etc/modules +echo "mlx4_ib" >>/etc/modules +echo "ib_ipoib" >>/etc/modules +echo "mlx5_ib" >>/etc/modules +echo "ib_umad" >>/etc/modules +echo "ib_uverbs" >>/etc/modules diff --git a/elements/mellanox/install.d/mellanox-rules.udev b/elements/mellanox/install.d/mellanox-rules.udev index eda32596e..ba444ac4a 100644 --- a/elements/mellanox/install.d/mellanox-rules.udev +++ b/elements/mellanox/install.d/mellanox-rules.udev @@ -1,6 +1,11 @@ ACTION!="add", GOTO="drivers_end" SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx4_en" +SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx4_ib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_ipoib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx5_ib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_umad" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_uverbs" LABEL="drivers_end" diff --git a/elements/mellanox/package-installs.yaml b/elements/mellanox/package-installs.yaml new file mode 100644 index 000000000..dacc65416 --- /dev/null +++ b/elements/mellanox/package-installs.yaml @@ -0,0 +1,26 @@ +dkms: +ibacm: +ibutils: +ibverbs-utils: +infiniband-diags: +libibcm: +libibcommon: +libibmad: +libibumad: +libibverbs: +libibverbs-runtime: +libmlx4: +libmlx4-dev: +libmlx5: +librdmacm: +librdmacm-dev: +librdmacm-runtime: +mstflint: +opensm: +pciutils: +perftest: +qperf: +rdma: +rpm-build: +srptools: +vlan: diff --git a/elements/mellanox/pkg-map b/elements/mellanox/pkg-map new file mode 100644 index 000000000..48c2b5f6b --- /dev/null +++ b/elements/mellanox/pkg-map @@ -0,0 +1,67 @@ +{ + "family": { + "debian":{ + "dkms": "dkms", + "libibverbs": "libibverbs*", + "ibacm": "ibacm", + "librdmacm": "librdmacm*", + "libmlx4": "libmlx4*", + "libmlx5": "libmlx5*", + "libibcm": "libibcm.*", + "libibmad": "libibmad.*", + "libibumad": "libibumad*", + "libmlx4-dev": "libmlx4-dev", + "librdmacm-dev": "librdmacm-dev", + "rdma": "rdmacm-utils", + "vlan": "vlan", + "ibverbs-utils": "ibverbs-utils" + }, + "redhat": { + "libibverbs": "libibverbs.*", + "librdmacm": "librdmacm.*", + "libmlx4": "libmlx4.*", + "libmlx5": "libmlx5.*", + "libibcm": "libibcm.*", + "libibmad": "libibmad.*", + "libibumad": "libibumad.*", + "rdma": "rdma", + "qperf": "qperf", + "pciutils": "pciutils" + }, + "suse":{ + "libibverbs": "libibverbs", + "librdmacm": "librdmacm", + "libmlx4": "libmlx4", + "libmlx5": "libmlx5", + "libibcm": "libibcm", + "libibmad": "libibmad", + "libibumad": "libibumad", + "rdma": "rdma", + "qperf": "qperf", + "rpm-build": "rpm-build", + "libibverbs-runtime": "libibverbs-runtime", + "librdmacm-runtime": "librdmacm-runtime", + "libibcommon": "libibcommon" + } + }, + "default": { + "infiniband-diags": "infiniband-diags", + "mstflint": "mstflint", + "opensm": "opensm", + "srptools": "srptools", + "libmlx4-dev": "", + "librdmacm-dev": "", + "ibutils": "ibutils", + "perftest": "perftest", + "vlan": "", + "pciutils": "", + "ibverbs-utils": "", + "rpm-build": "", + "libibverbs-runtime": "", + "librdmacm-runtime": "", + "ibacm": "", + "qperf": "", + "dkms": "", + "libibcommon": "" + } +} diff --git a/elements/mellanox/udev.d/81-mellanox-drivers.rules b/elements/mellanox/udev.d/81-mellanox-drivers.rules index eda32596e..ba444ac4a 100644 --- a/elements/mellanox/udev.d/81-mellanox-drivers.rules +++ b/elements/mellanox/udev.d/81-mellanox-drivers.rules @@ -1,6 +1,11 @@ ACTION!="add", GOTO="drivers_end" SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx4_en" +SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx4_ib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_ipoib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe mlx5_ib" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_umad" +SUBSYSTEM=="net", RUN+="/sbin/modprobe ib_uverbs" LABEL="drivers_end"