STRUCT ETHTOOL_MM_STATS(9)
π 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:
enum ethtool_phys_id_state(9)struct kernel_ethtool_ringparam(9)enum ethtool_supported_ring_param(9)ethtool_rxfh_indir_default(9)struct ethtool_rxfh_context(9)ethtool_link_ksettings_zero_link_mode(9)ethtool_link_ksettings_add_link_mode(9)ethtool_link_ksettings_del_link_mode(9)ethtool_link_ksettings_test_link_mode(9)ethtool_intersect_link_masks(9)struct ethtool_phy_stats(9)struct ethtool_pause_stats(9)struct ethtool_fec_hist_range(9)struct ethtool_fec_stats(9)struct ethtool_rmon_hist_range(9)struct ethtool_rmon_stats(9)struct ethtool_ts_stats(9)struct ethtool_module_eeprom(9)struct ethtool_module_power_mode_params(9)struct ethtool_mm_state(9)struct ethtool_mm_cfg(9)struct ethtool_mmsv_ops(9)struct ethtool_mmsv(9)struct ethtool_rxfh_param(9)struct ethtool_rxfh_fields(9)struct kernel_ethtool_ts_info(9)struct ethtool_ops(9)struct ethtool_netdev_state(9)struct ethtool_phy_ops(9)ethtool_set_ethtool_phy_ops(9)ethtool_params_from_link_mode(9)ethtool_get_phc_vclocks(9)ethtool_mm_frag_size_add_to_min(9)ethtool_mm_frag_size_min_to_add(9)ethtool_get_ts_info_by_layer(9)ethtool_sprintf(9)ethtool_puts(9)ethtool_cpy(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms