mlnxofedctl is basically a wrapper around /etc/init.d/openibd or /etc/init.d/mlnx_en.d (in mlnx_en). That "init.d" script is being used as a script and should not.
Currently it supports all the commands supported by openibd, but may grow some extra functionality in the future.
- -a --altmods
Load modules from /host/lib/modules instead of from /lib/modules . Runs the whole command in a separate mounts namespace.
Load modules. In some cases it calls 'restart' on its own because it senses that a wrong version of the modules is loaded.
The start operation also checks that the modules are ones that are provided in the mlnx-ofed-kernel / mlnx-ofa_kernel / mlnx_en modules package (rpm or deb). If not, it will refuse to load modules to make sure that inbox modules will not be used.
force-start ignores this sanity check and allows using modules that were not part of the MLNX_OFED / mlnx-en packages. This is also useful if you want to use kernel modules you built manually.
Unload modules. Note that this unloads not only current modules but also various modules that were previously part of mlnx-ofa_kernel (such as mlnx4_core and rdma_rxe) to simplify upgrades.
stop and start.
- force-stop, force-restart
force-stop is the same as stop.
force-restart is stop and force-start.
Shows that the modules are loaded. This is handy because there's no real process whose presence can provide the "state" for systemd. Generally it is a good idea to use 'restart' in many cases.
There should be some other documentation.