STRUCT MXL862XX_RMON_PORT_CNT(9)
π NAME π
ok so bestie, gather round: struct mxl862xx_rmon_port_cnt β it's the RMON counters for a port. yes, all of them. every single one. she's thorough β¨
this is a Linux kernel API page, from the Kernel API Manual, so it's giving "I live in drivers/net/dsa/mxl862xx" energy π
π¦ SYNOPSIS π¦
like, here's the whole vibe, verbatim, no cap:
struct mxl862xx_rmon_port_cnt {
__le32 port_type;
__le16 port_id;
__le16 sub_if_id_group;
u8 pce_bypass;
__le32 rx_extended_vlan_discard_pkts;
__le32 mtu_exceed_discard_pkts;
__le32 tx_under_size_good_pkts;
__le32 tx_oversize_good_pkts;
__le32 rx_good_pkts;
__le32 rx_unicast_pkts;
__le32 rx_broadcast_pkts;
__le32 rx_multicast_pkts;
__le32 rx_fcserror_pkts;
__le32 rx_under_size_good_pkts;
__le32 rx_oversize_good_pkts;
__le32 rx_under_size_error_pkts;
__le32 rx_good_pause_pkts;
__le32 rx_oversize_error_pkts;
__le32 rx_align_error_pkts;
__le32 rx_filtered_pkts;
__le32 rx64byte_pkts;
__le32 rx127byte_pkts;
__le32 rx255byte_pkts;
__le32 rx511byte_pkts;
__le32 rx1023byte_pkts;
__le32 rx_max_byte_pkts;
__le32 tx_good_pkts;
__le32 tx_unicast_pkts;
__le32 tx_broadcast_pkts;
__le32 tx_multicast_pkts;
__le32 tx_single_coll_count;
__le32 tx_mult_coll_count;
__le32 tx_late_coll_count;
__le32 tx_excess_coll_count;
__le32 tx_coll_count;
__le32 tx_pause_count;
__le32 tx64byte_pkts;
__le32 tx127byte_pkts;
__le32 tx255byte_pkts;
__le32 tx511byte_pkts;
__le32 tx1023byte_pkts;
__le32 tx_max_byte_pkts;
__le32 tx_dropped_pkts;
__le32 tx_acm_dropped_pkts;
__le32 rx_dropped_pkts;
__le64 rx_good_bytes;
__le64 rx_bad_bytes;
__le64 tx_good_bytes;
};
look at her. 48 members. main character energy fr fr π
πΈ DESCRIPTION πΈ
β¨ Members β¨
okay so every field, one by one, no skipping, I promised π«Ά
port_typeβ the port type for counter retrieval (peepenum mxl862xx_port_typeβ she's in SEE ALSO too)port_idβ ethernet port number, and it's zero-based, so the first port is0, not1, don't come for mesub_if_id_groupβ sub-interface ID grouppce_bypassβ separates the CTP Tx counters when PCE is bypassedrx_extended_vlan_discard_pktsβ discarded at extended VLAN operationmtu_exceed_discard_pktsβ discarded because the MTU got exceeded πtx_under_size_good_pktsβ Tx undersize (<64) packet counttx_oversize_good_pktsβ Tx oversize (>1518) packet countrx_good_pktsβ received good packet countrx_unicast_pktsβ received unicast packet countrx_broadcast_pktsβ received broadcast packet countrx_multicast_pktsβ received multicast packet countrx_fcserror_pktsβ received FCS error packet countrx_under_size_good_pktsβ received undersize good packet countrx_oversize_good_pktsβ received oversize good packet countrx_under_size_error_pktsβ received undersize error packet countrx_good_pause_pktsβ received good pause packet countrx_oversize_error_pktsβ received oversize error packet countrx_align_error_pktsβ received alignment error packet countrx_filtered_pktsβ filtered packet countrx64byte_pktsβ received 64-byte packet countrx127byte_pktsβ received 65-127 byte packet countrx255byte_pktsβ received 128-255 byte packet countrx511byte_pktsβ received 256-511 byte packet countrx1023byte_pktsβ received 512-1023 byte packet countrx_max_byte_pktsβ received 1024-max byte packet counttx_good_pktsβ transmitted good packet counttx_unicast_pktsβ transmitted unicast packet counttx_broadcast_pktsβ transmitted broadcast packet counttx_multicast_pktsβ transmitted multicast packet counttx_single_coll_countβ transmit single collision counttx_mult_coll_countβ transmit multiple collision counttx_late_coll_countβ transmit late collision counttx_excess_coll_countβ transmit excessive collision counttx_coll_countβ transmit collision counttx_pause_countβ transmit pause packet counttx64byte_pktsβ transmitted 64-byte packet counttx127byte_pktsβ transmitted 65-127 byte packet counttx255byte_pktsβ transmitted 128-255 byte packet counttx511byte_pktsβ transmitted 256-511 byte packet counttx1023byte_pktsβ transmitted 512-1023 byte packet counttx_max_byte_pktsβ transmitted 1024-max byte packet counttx_dropped_pktsβ transmit dropped packet counttx_acm_dropped_pktsβ transmit ACM dropped packet countrx_dropped_pktsβ received dropped packet countrx_good_bytesβ received good byte count (64-bit)rx_bad_bytesβ received bad byte count (64-bit)tx_good_bytesβ transmitted good byte count (64-bit)
lowkey obsessed with the fact that the byte counters are the only __le64 ones β she's got range π
π§ SEE ALSO π§
kernel file ./drivers/net/dsa/mxl862xx/mxl862xx-api.h β and like, the whole extended family, bestie. every single one, iykyk:
- struct
mdio_relay_data(9) - struct
mxl862xx_register_mod(9) - enum
mxl862xx_mac_table_filter(9) - struct
mxl862xx_mac_table_add(9) - struct
mxl862xx_mac_table_remove(9) - struct
mxl862xx_mac_table_read(9) - struct
mxl862xx_mac_table_query(9) - enum
mxl862xx_mac_clear_type(9) - struct
mxl862xx_mac_table_clear(9) - enum
mxl862xx_age_timer(9) - struct
mxl862xx_bridge_alloc(9) - enum
mxl862xx_bridge_config_mask(9) - enum
mxl862xx_bridge_port_egress_meter(9) - struct
mxl862xx_qos_meter_cfg(9) - enum
mxl862xx_bridge_forward_mode(9) - struct
mxl862xx_bridge_config(9) - struct
mxl862xx_bridge_port_alloc(9) - enum
mxl862xx_bridge_port_config_mask(9) - enum
mxl862xx_color_marking_mode(9) - enum
mxl862xx_color_remarking_mode(9) - enum
mxl862xx_pmapper_mapping_mode(9) - struct
mxl862xx_pmapper(9) - struct
mxl862xx_bridge_port_config(9) - struct
mxl862xx_cfg(9) - enum
mxl862xx_extended_vlan_filter_type(9) - enum
mxl862xx_extended_vlan_filter_tpid(9) - enum
mxl862xx_extended_vlan_filter_dei(9) - enum
mxl862xx_extended_vlan_treatment_remove_tag(9) - enum
mxl862xx_extended_vlan_treatment_priority(9) - enum
mxl862xx_extended_vlan_treatment_vid(9) - enum
mxl862xx_extended_vlan_treatment_tpid(9) - enum
mxl862xx_extended_vlan_treatment_dei(9) - enum
mxl862xx_extended_vlan_4_tpid_mode(9) - enum
mxl862xx_extended_vlan_filter_ethertype(9) - struct
mxl862xx_extendedvlan_filter_vlan(9) - struct
mxl862xx_extendedvlan_filter(9) - struct
mxl862xx_extendedvlan_treatment_vlan(9) - struct
mxl862xx_extendedvlan_treatment(9) - struct
mxl862xx_extendedvlan_alloc(9) - struct
mxl862xx_extendedvlan_config(9) - enum
mxl862xx_vlan_filter_tci_mask(9) - struct
mxl862xx_vlanfilter_alloc(9) - struct
mxl862xx_vlanfilter_config(9) - enum
mxl862xx_ss_sp_tag_mask(9) - enum
mxl862xx_ss_sp_tag_rx(9) - enum
mxl862xx_ss_sp_tag_tx(9) - enum
mxl862xx_ss_sp_tag_rx_pen(9) - struct
mxl862xx_ss_sp_tag(9) - enum
mxl862xx_logical_port_mode(9) - struct
mxl862xx_ctp_port_assignment(9) - enum
mxl862xx_stp_port_state(9) - struct
mxl862xx_stp_port_cfg(9) - struct
mxl862xx_sys_fw_image_version(9) - enum
mxl862xx_port_type(9) - enum
mxl862xx_rmon_port_type(9) - union
mxl862xx_xpcs_an_word(9) - enum
mxl862xx_xpcs_loopback_mode(9) - struct
mxl862xx_xpcs_pcs_cfg(9) - struct
mxl862xx_xpcs_pcs_state(9) - struct
mxl862xx_xpcs_pcs_disable(9) - struct
mxl862xx_xpcs_an_restart(9) - struct
mxl862xx_xpcs_pcs_link_up(9)
okay that's the whole page, you ate that π this one's from ./drivers/net/dsa/mxl862xx, Kernel API Manual, dated October 2026 β so when you see that date on the page, that's just her birthday, don't overthink it. bye bestie, go count some packets π¦β¨π
π¦ 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