The Mellanox SN2410 is a 25GbE/100GbE network switch manufactured by Mellanox (now NVIDIA). It has 48 25GbE ports, and 8 100GbE ports. This switch uses GRUB (by default) and has a relatively standard UEFI BIOS, meaning that it can easily run NixOS without much trouble.

Mellanox SN2410
Manufacturer Mellanox (now NVIDIA)
Architecture x86_64
Bootloader 64-bit GRUB
Maintainer rv32ima

Setup

In order to get NixOS working with this switch (and all of it's many ethernet ports), some manual configuration is needed. You can use a regular installer ISO to get NixOS on this machine, but for all ports to be functional, some extra configuration is needed. Add this to your system's configuration:

    boot.kernelPatches = [
      {
        name = "mlx-stuff";
        patch = null;
        extraConfig = ''
          MELLANOX_PLATFORM y
          MLXREG_HOTPLUG m
          MLXREG_IO m
          MLXREG_LC m
          NVSW_SN2201 m
          SENSORS_MLXREG_FAN m
        '';
      }
    ];

    boot.blacklistedKernelModules = [
      "i2c_mux_reg"
    ];

This adds in some missing kernel drivers for the switch into your kernel, and blacklists the `i2c_mux_reg` driver (which interferes with the mlxsw_spectrum driver).