STRUCT ETHTOOL_MMSV_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ethtool_mmsv_ops(9) β€” like, the Kernel API Manual, but make it make sense ✨

okay so bestie, gather round, because today we're talking about struct ethtool_mmsv_ops from the kernel API manual (section 9, iykyk) β€” it's Operations for MAC Merge Software Verification πŸŽ€ and honestly? iconic little struct. no cap.


🌸 SYNOPSIS 🌸

here's the whole vibe, literally character for character, don't @ me:

struct ethtool_mmsv_ops {
    void (*configure_tx)(struct ethtool_mmsv *mmsv, bool tx_active);
    void (*configure_pmac)(struct ethtool_mmsv *mmsv, bool pmac_enabled);
    void (*send_mpacket)(struct ethtool_mmsv *mmsv, enum ethtool_mpacket mpacket);
};

three function pointers. three. it's giving minimal, it's giving main character energy, we stan 🫢


πŸ‘‘ Members πŸ‘‘

okay so these are the little callbacks you (yes YOU, driver bestie) get to fill in. let's do a vibe check on each one πŸ’…

  • configure_tx β€” Driver callback for the event where the preemptible TX becomes active or inactive. ✨ and like, important detail here: preemptible traffic classes must be committed to hardware only while preemptible TX is active β€” that's a hard rule, not a suggestion, fr fr. so don't be out here committing classes while TX is off, that's not the moment 😭
  • configure_pmac β€” Driver callback for the event where the pMAC state changes as a result of an administrative setting (ethtool) or a call to ethtool_mmsv_link_state_handle. so basically: somebody poked the pMAC state, either through ethtool or through that function call, and your driver gets the heads-up. slay 🌈
  • send_mpacket β€” Driver-provided method for sending a Verify or a Response mPacket. πŸ¦‹ that's it, that's the job β€” you send the mPacket, the mPacket gets sent, periodt.
ngl these are callbacks, so if you're the driver author, you're the one implementing them. the struct is just sitting there holding space for you πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

this list is LONG bestie, like a group chat with 40 unread messages, but every single one matters so here we go, no skipping, i promised πŸ™ˆ

like?? that's a whole ecosystem πŸ’€ but that's how you know ethtool is thriving, okay? obsessed. πŸ”₯


and that's the whole page bestie, you ate it up πŸ’œ

cute little sign-off: this one lives in ./include/linux and the page is dated October 2026, and it's struct ethtool_mmsv_ops(9) all the way down. go forth and verify those MAC merges, mwah πŸ˜˜πŸ’–

πŸ“¦ where this page comes from