This Fix is for old releases that doesn't include mlx4_en in their initramfs.
Now, that the initrd include the mlx4_en, so no need to creating a mlx4.conf file with softdep mlx4_core post: mlx4_en
After removing this file we see that mlx4_en loaded after boot due to mlx4_core request a module according to the port type -
drivers/net/ethernet/mellanox/mlx4/main.c
static void mlx4_request_modules(struct mlx4_dev *dev)
{
int port;
int has_ib_port = false;
int has_eth_port = false;
#define EN_DRV_NAME "mlx4_en"
#define IB_DRV_NAME "mlx4_ib"
for (port = 1; port <= dev->caps.num_ports; port++) {
if (dev->caps.port_type[port] == MLX4_PORT_TYPE_IB) has_ib_port = true; else if (dev->caps.port_type[port] == MLX4_PORT_TYPE_ETH) has_eth_port = true;
}
if (has_eth_port) request_module_nowait(EN_DRV_NAME);
if (has_ib_port || (dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE)) request_module_nowait(IB_DRV_NAME);
}
We are debianize rdma-utils package that create a file /etc/modpobe.d/mlx4.conf, according to Debian policy package shouldn't modify files installed by another package in any way, it's forbidden.
in addition the rdma service create the same file name and add the following
install mlx4_core /sbin/modprobe --ignore-install mlx4_core && (if [ -f /usr/libexec/mlx4-setup.sh -a -f /etc/rdma/mlx4.conf ]; then /usr/libexec/mlx4-setup.sh < /etc/rdma/mlx4.conf; fi; /sbin/modprobe mlx4_en; /sbin/modprobe mlx4_ib)
this should load the diver with the requested port type configuration.
Hi,
This Fix is for old releases that doesn't include mlx4_en in their initramfs.
Now, that the initrd include the mlx4_en, so no need to creating a mlx4.conf file with softdep mlx4_core post: mlx4_en
After removing this file we see that mlx4_en loaded after boot due to mlx4_core request a module according to the port type -
drivers/ net/ethernet/ mellanox/ mlx4/main. c modules( struct mlx4_dev *dev)
static void mlx4_request_
{
int port;
int has_ib_port = false;
int has_eth_port = false;
#define EN_DRV_NAME "mlx4_en"
#define IB_DRV_NAME "mlx4_ib"
for (port = 1; port <= dev->caps. num_ports; port++) { port_type[ port] == MLX4_PORT_TYPE_IB)
has_ ib_port = true;
else if (dev->caps. port_type[ port] == MLX4_PORT_TYPE_ETH)
has_ eth_port = true;
if (dev->caps.
}
if (has_eth_port)
request_ module_ nowait( EN_DRV_ NAME); CAP_FLAG_ IBOE))
request_ module_ nowait( IB_DRV_ NAME);
if (has_ib_port || (dev->caps.flags & MLX4_DEV_
}
We are debianize rdma-utils package that create a file /etc/modpobe. d/mlx4. conf, according to Debian policy package shouldn't modify files installed by another package in any way, it's forbidden. mlx4-setup. sh -a -f /etc/rdma/mlx4.conf ]; then /usr/libexec/ mlx4-setup. sh < /etc/rdma/ mlx4.conf; fi; /sbin/modprobe mlx4_en; /sbin/modprobe mlx4_ib)
in addition the rdma service create the same file name and add the following
install mlx4_core /sbin/modprobe --ignore-install mlx4_core && (if [ -f /usr/libexec/
this should load the diver with the requested port type configuration.
could you please revert this fix?
Thanks,
Talat