MSK(4)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

okay so bestie, you've found the msk(4) page from the Kernel Interfaces Manual, and honestly? it's giving network-driver realness, it's giving copper-or-fiber duality. let's get into it ✨


🌸 NAME 🌸

msk β€” the Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver. that's it, that's the vibe check πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

so like, if you want this driver baked into the kernel (main character energy, zero modloading), you drop these lines in your kernel configuration file:

device miibus
device msk

or β€” and this is the lowkey easier route β€” load it as a module at boot time by putting this line in loader.conf(5):

if_msk_load="YES"

look at her go πŸŽ€


✨ DESCRIPTION ✨

the msk device driver provides support for various NICs based on the Marvell/SysKonnect Yukon II Gigabit Ethernet controller chip. no cap, that's the whole job.

every single NIC supported by msk is stacked with:

  • TCP/UDP/IP checksum offload for transmit πŸ”₯
  • TCP segmentation offload (TSO)
  • hardware VLAN tag stripping/insertion features
  • an interrupt moderation mechanism
  • a 64-bit multicast hash filter

and the Yukon II supports TBI (ten bit interface) and GMII transceivers β€” which means it can be used with either copper or 1000baseX fiber applications. versatility queen 🧚

the Yukon II also supports Jumbo Frames (up to 9022 bytes), and you configure those via the interface MTU setting. selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit Jumbo Frames. big frames, big feelings.


πŸ’– media types πŸ’–

the msk driver supports the following media types:

  • autoselect β€” enable autoselection of the media type and options. and guess what, you can manually override the autoselected mode by adding media options to rc.conf(5). she's autonomous but she listens.
  • 10baseT/UTP β€” set 10Mbps operation. the ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.
  • 100baseTX β€” set 100Mbps (Fast Ethernet) operation. the ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.
  • 1000baseTX β€” set 1000baseTX operation over twisted pair. the ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.
  • 1000baseSX β€” set 1000Mbps (Gigabit Ethernet) operation. both full-duplex and half-duplex modes are supported. slay.

πŸ’… media options πŸ’…

the msk driver supports the following media options:

  • full-duplex β€” force full duplex operation.
  • half-duplex β€” force half duplex operation.

for more information on configuring this device, see ifconfig(8). iykyk.


πŸ‘‘ HARDWARE πŸ‘‘

the msk driver provides support for various NICs based on the Marvell/SysKonnect Yukon II based Gigabit Ethernet controller chips, including β€” okay deep breath, this list is long and every single one of them is invited to the party:

  • D-Link 550SX Gigabit Ethernet
  • D-Link 560SX Gigabit Ethernet
  • D-Link 560T Gigabit Ethernet
  • Marvell Yukon 88E8021CU Gigabit Ethernet
  • Marvell Yukon 88E8021 SX/LX Gigabit Ethernet
  • Marvell Yukon 88E8022CU Gigabit Ethernet
  • Marvell Yukon 88E8022 SX/LX Gigabit Ethernet
  • Marvell Yukon 88E8061CU Gigabit Ethernet
  • Marvell Yukon 88E8061 SX/LX Gigabit Ethernet
  • Marvell Yukon 88E8062CU Gigabit Ethernet
  • Marvell Yukon 88E8062 SX/LX Gigabit Ethernet
  • Marvell Yukon 88E8035 Fast Ethernet
  • Marvell Yukon 88E8036 Fast Ethernet
  • Marvell Yukon 88E8038 Fast Ethernet
  • Marvell Yukon 88E8039 Fast Ethernet
  • Marvell Yukon 88E8040 Fast Ethernet
  • Marvell Yukon 88E8040T Fast Ethernet
  • Marvell Yukon 88E8042 Fast Ethernet
  • Marvell Yukon 88E8048 Fast Ethernet
  • Marvell Yukon 88E8050 Gigabit Ethernet
  • Marvell Yukon 88E8052 Gigabit Ethernet
  • Marvell Yukon 88E8053 Gigabit Ethernet
  • Marvell Yukon 88E8055 Gigabit Ethernet
  • Marvell Yukon 88E8056 Gigabit Ethernet
  • Marvell Yukon 88E8057 Gigabit Ethernet
  • Marvell Yukon 88E8058 Gigabit Ethernet
  • Marvell Yukon 88E8059 Gigabit Ethernet
  • Marvell Yukon 88E8070 Gigabit Ethernet
  • Marvell Yukon 88E8071 Gigabit Ethernet
  • Marvell Yukon 88E8072 Gigabit Ethernet
  • Marvell Yukon 88E8075 Gigabit Ethernet
  • SysKonnect SK-9Sxx Gigabit Ethernet
  • SysKonnect SK-9Exx Gigabit Ethernet

no because thirty-two of them?? she contains multitudes πŸ˜­πŸ’œ


⭐ LOADER TUNABLES ⭐

tunables can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5). your choice, both are valid.

  • hw.msk.msi_disable β€” this tunable disables MSI support on the Ethernet hardware. the default value is 0.

🌈 SYSCTL VARIABLES 🌈

the following variables are available as both sysctl(8) variables and loader(8) tunables:

  • dev.mskc.%d.int_holdoff β€” maximum number of time to delay interrupts. the valid range is 0 to 34359738 for 125MHz clock in units of 1us, the default is 100 (100us). ⚠️ the interface need to be brought down and up again before a change takes effect.
  • dev.mskc.%d.process_limit β€” maximum amount of Rx events to be processed in the event loop before rescheduling a taskqueue. the accepted range is 30 to 256, the default value is 128 events. good news: the interface does not need to be brought down and up again before a change takes effect. we love a low-maintenance setting 🫢
note the names, bestie β€” it's mskc in those sysctl paths, not msk. copy them exactly, no autocorrect slander πŸ™ˆ

πŸ“ SEE ALSO πŸ“

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)

go read those too, they're all friends of hers ✨


πŸŽ€ HISTORY πŸŽ€

the msk driver was written by Pyun YongHyeon <yongari@FreeBSD.org> and it is based on sk(4) and Marvell's FreeBSD driver. it first appeared in FreeBSD 7.0 and FreeBSD 6.3. a legend, an icon, an era πŸ’–


πŸ¦‹ and that's the page, bestie β€” go forth and configure your Yukon II with confidence. periodt.

this iconic little drop shipped from Debian on May 23, 2011 β€” mwah, kisses to the source and version, bye bye now πŸ’œβœ¨

πŸ“¦ where this page comes from