MLX5EN(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… MLX5EN(4) β€” the Kernel Interfaces Manual ✨

Hey bestie, welcome to the mlx5en(4) page β€” the Kernel Interfaces Manual entry for the NVIDIA Mellanox ConnectX-4/5/6 [Dx/Ex/Lx] based 200Gb, 100Gb, 50Gb, 40Gb, 25Gb and 10Gb ethernet adapter driver. Yes that's a mouthful, no we're not shortening it, it's literally the whole vibe. 🫢


🌸 SYNOPSIS 🌸

Okay so there are like three ways to get this driver living in your system, and they're all right here πŸ‘‘

To compile this driver into the kernel, place the following lines in your kernel configuration file:

options COMPAT_LINUXKPI
options RATELIMIT
options KERN_TLS
device xz
device mlxfw
device firmware
device mlx5
device mlx5en

To load the driver as a module at run-time, run the following command as root:

kldload mlx5en

To load the driver as a module at boot time, place the following lines in loader.conf(5):

mlx5en_load="YES"

See? Three options, all iconic, pick your fave πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

The mlx5en driver provides support for PCI Express Ethernet adapters based on ConnectX-4/5/6 [Dx, Ex and Lx variants]. She's giving range, okay?

So what does this driver actually do, you ask? Buckle up, because the feature list is long and honestly kind of ate:

  • Jumbo Frames 🐘
  • Transmit and Receive checksum offload
  • TCP segmentation offload (TSO)
  • Large Receive Offload (LRO)
  • HW Large Receive Offload (HW LRO)
  • VLAN tag insertion and extraction
  • VLAN checksum offload
  • VLAN TSO
  • hardware rate limiting (TXRTLMT)
  • stateless VxLAN hardware offload for receive and transmit
  • HW TLS offload for transmit
  • Receive Side Steering (RSS)
  • and numa(4) awareness

Like. The range. πŸ”₯

Now the naming situation, because this part lowkey matters: the network interface name is mce<N> which corresponds to a PCI function, mlx_core<N>, where <N> is a number starting at zero. And listen β€” there is at most one network interface per PCI function. One. Not two. Don't be greedy. πŸ™ˆ

For further information and questions related to hardware requirements, see https://www.mellanox.com β€” go off, official site πŸ‘‘


πŸ”₯ HARDWARE πŸ”₯

The mlx5en driver supports 200Gb, 100Gb, 50Gb, 40Gb, 25Gb and 10Gb ethernet adapters. Speed demon behavior, honestly.

  • ConnectX-6 supports 10/20/25/40/50/56/100Gb/200Gb/s speeds. (200, bestie. Two hundred. 😭)
  • ConnectX-5 supports 10/20/25/40/50/56/100Gb/s speeds.
  • ConnectX-4 supports 10/20/25/40/50/56/100Gb/s speeds.
  • ConnectX-4 LX supports 10/25/40/50Gb/s speeds and reduced power consumption. (Green queen 🌱)

πŸŽ€ CONFIGURATION πŸŽ€

The mlx5en network interface is configured using ifconfig(8) and the sysctl(8) tree at dev.mce.<N>.

And here's the cute part: all configurable entries are also tunables, and can be put directly into the loader.conf(5) for persistent configuration. So you can set it once and forget it β€” set and forget energy, we love to see it πŸ’…


🌈 SUPPORT 🌈

For general information and support, go to the NVIDIA Mellanox networking support website at: https://www.mellanox.com β€” they're right there, go say hi 🫢

If an issue is identified with this driver using a supported adapter, e-mail all the specific information related to the issue to ⟨nbu-freebsd-drivers@nvidia.com⟩. Like all the specific info, okay? Don't make them guess, they're not mind readers 😭


⭐ SEE ALSO ⭐

  • ifconfig(8) β€” bestie, it's literally the only one listed, and honestly it's carrying the whole section

πŸ’œ HISTORY πŸ’œ

The mlx5en device driver first appeared in FreeBSD 11.0. A legend from the start, no cap πŸ‘‘


🌸 AUTHORS 🌸

The mlx5en driver was written by NVIDIA Mellanox networking <nbu-freebsd-drivers@nvidia.com>. Give them their flowers πŸ’


Okay that's the whole page, you made it to the end, proud of you πŸ₯Ή

And that's a wrap on this Debian page, dated July 20, 2021 β€” mwah, go configure something iconic πŸ’–πŸŒ·

πŸ“¦ where this page comes from