STRUCT ETHTOOL_MM_STATS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ethtool_mm_stats(9) β€” the kernel API manual, bestie edition πŸ’–

okay so real talk: this is a page from the Linux kernel API manual, and it's all about struct ethtool_mm_stats β€” aka the 802.3 MAC merge layer statistics struct. yes it's a mouthful, no you don't have to say it out loud. it's giving "niche but iconic" ✨


🌸 NAME 🌸

struct ethtool_mm_stats β€” 802.3 MAC merge layer statistics</p> πŸŽ€


✨ SYNOPSIS ✨

here's the whole glow-up of the struct, and yes you're gonna copy it exactly, no freestyling:

struct ethtool_mm_stats {
    u64 MACMergeFrameAssErrorCount;
    u64 MACMergeFrameSmdErrorCount;
    u64 MACMergeFrameAssOkCount;
    u64 MACMergeFragCountRx;
    u64 MACMergeFragCountTx;
    u64 MACMergeHoldCount;
 };

six u64 fields, all of them locked in, all of them counting something. slay πŸ’…


πŸ¦‹ Members πŸ¦‹

bestie, this is the part where we go field by field and i tell you what each one is actually keeping track of. the way that these counters are all received or sent or state changes is honestly so coherent. obsessed 🫢

  • MACMergeFrameAssErrorCount β€” received MAC frames with reassembly errors 😭 (yeah, things went wrong, and this is the receipt)
  • MACMergeFrameSmdErrorCount β€” received MAC frames/fragments rejected due to unknown or incorrect SMD πŸ™ˆ (SMD said no ❌)
  • MACMergeFrameAssOkCount β€” received MAC frames that were successfully reassembled and passed up πŸ’– (the good timeline, congrats to them)
  • MACMergeFragCountRx β€” number of additional correct SMD-C mPackets received due to preemption 🌈 (additional is doing so much work in that sentence and i respect it)
  • MACMergeFragCountTx β€” number of additional mPackets sent due to preemption πŸš€
  • MACMergeHoldCount β€” number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffic βœ‹πŸ’€ (it literally holds the traffic, hence the name β€” iykyk)
ngl the "HOLD state, which blocks transmission of preemptible traffic" part is the one to remember. it's not a vibe, it's a blocker. literally.

πŸ”₯ SEE ALSO πŸ”₯

the kernel file ./include/linux/ethtool.h and honestly a whole friend group of related symbols β€” here they all are, no gatekeeping, no cap:


and that's the whole page, bestie πŸ’œβœ¨

cute little sign-off for the citation girlies: this one lives over in ./include/linux, it's dated October 2026 🌸, and it's filed under the manual name struct ethtool_mm_stats(9) β€” mwah, periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from