LIQUIDIO(4)

πŸ’– LIQUIDIO β€” the Cavium 10Gb/25Gb Ethernet driver for FreeBSD, bestie πŸ’–

okay so we're in section 4 of the Kernel Interfaces Manual, this is liquidio, and she is literally the Cavium 10Gb/25Gb Ethernet driver for the FreeBSD operating system. no cap. πŸ¦‹


✨ SYNOPSIS ✨

so like, if you wanna compile this driver straight into the kernel (main character move), drop this line into your kernel configuration file:

device lio

orrr if you'd rather load it as a module at boot time, put this into loader.conf(5):

if_lio_load="YES"

both are valid, pick your fighter πŸ’…


🌸 DESCRIPTION 🌸

okay so the liquidio driver is here to support 23XX 10Gb/25Gb Ethernet adapters, and she's not doing it halfway. the driver supports:

  • Jumbo Frames
  • Transmit/Receive checksum offload
  • TCP segmentation offload (TSO)
  • Large Receive Offload (LRO)
  • VLAN tag insertion/extraction
  • VLAN checksum offload
  • VLAN TSO
  • Receive Side Steering (RSS)

literally the whole buffet. ate. πŸ‘‘

so the way Jumbo Frames work is thru the interface MTU setting. if you select an MTU larger than 1500 bytes with the ifconfig(8) utility, that configures the adapter to receive and transmit Jumbo Frames. the maximum MTU size for Jumbo Frames is 16000. periodt.

for more info on configuring this device, go see ifconfig(8) 🫢


πŸŽ€ HARDWARE πŸŽ€

the liquidio driver supports these cards, and only these cards:

  • LiquidIO II CN2350 210SV/225SV
  • LiquidIO II CN2360 210SV/225SV

🌈 LOADER TUBABLES 🌈

(yeah it says "TUBABLES", that's the actual section name, we don't make the rules we just vibe with them πŸ’€)

you can set these tunables at the loader(8) prompt before booting the kernel, or store them in loader.conf(5). either way works, bestie.

  • hw.lio.fw_type β€” a string that specifies the type of firmware to be loaded. the default is "nic". use "none" to load firmware from flash. πŸ“
  • hw.lio.num_queues_per_pf0 β€” unsigned integers that specify the number of queues per PF0. valid range is 0 to 64. use 0 to derive autoconfigures based on the number of cpus, with a max of 8.
  • hw.lio.num_queues_per_pf1 β€” unsigned integers that specify the number of queues per PF1. valid range is 0 to 64. use 0 to derive autoconfigures based on the number of cpus, with a max of 8.
  • hw.lio.console_bitmask β€” a bitmask indicating which consoles have debug output redirected to syslog.
  • hw.lio.rss β€” to enable/disable driver RSS support.
  • hw.lio.hwlro β€” to enable/disable hardware LRO.

πŸ’œ SUPPORT πŸ’œ

for general information and support, go to the Cavium support website at: http://support.cavium.com.


⭐ SEE ALSO ⭐


🧚 HISTORY 🧚

the liquidio device driver first appeared in FreeBSD 12.0. iconic behavior honestly.


πŸ‘‘ AUTHORS πŸ‘‘

the liquidio driver was written by Derek Chickles <derek.chickles@cavium.com>. thank you for your service king 🫑


ok and that's the whole page, bestie!! go forth and configure ur 25Gb NIC, u got this πŸ’ͺ✨

this lil beauty came from the Debian crew and is dated August 17, 2017 β€” mwah, xoxo, drive safe πŸŽ€πŸ’–

πŸ“¦ where this page comes from