STRUCT MXL862XX_RMON_PORT_CNT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 (peep enum mxl862xx_port_type β€” she's in SEE ALSO too)
  • port_id β€” ethernet port number, and it's zero-based, so the first port is 0, not 1, don't come for me
  • sub_if_id_group β€” sub-interface ID group
  • pce_bypass β€” separates the CTP Tx counters when PCE is bypassed
  • rx_extended_vlan_discard_pkts β€” discarded at extended VLAN operation
  • mtu_exceed_discard_pkts β€” discarded because the MTU got exceeded 😭
  • tx_under_size_good_pkts β€” Tx undersize (<64) packet count
  • tx_oversize_good_pkts β€” Tx oversize (>1518) packet count
  • rx_good_pkts β€” received good packet count
  • rx_unicast_pkts β€” received unicast packet count
  • rx_broadcast_pkts β€” received broadcast packet count
  • rx_multicast_pkts β€” received multicast packet count
  • rx_fcserror_pkts β€” received FCS error packet count
  • rx_under_size_good_pkts β€” received undersize good packet count
  • rx_oversize_good_pkts β€” received oversize good packet count
  • rx_under_size_error_pkts β€” received undersize error packet count
  • rx_good_pause_pkts β€” received good pause packet count
  • rx_oversize_error_pkts β€” received oversize error packet count
  • rx_align_error_pkts β€” received alignment error packet count
  • rx_filtered_pkts β€” filtered packet count
  • rx64byte_pkts β€” received 64-byte packet count
  • rx127byte_pkts β€” received 65-127 byte packet count
  • rx255byte_pkts β€” received 128-255 byte packet count
  • rx511byte_pkts β€” received 256-511 byte packet count
  • rx1023byte_pkts β€” received 512-1023 byte packet count
  • rx_max_byte_pkts β€” received 1024-max byte packet count
  • tx_good_pkts β€” transmitted good packet count
  • tx_unicast_pkts β€” transmitted unicast packet count
  • tx_broadcast_pkts β€” transmitted broadcast packet count
  • tx_multicast_pkts β€” transmitted multicast packet count
  • tx_single_coll_count β€” transmit single collision count
  • tx_mult_coll_count β€” transmit multiple collision count
  • tx_late_coll_count β€” transmit late collision count
  • tx_excess_coll_count β€” transmit excessive collision count
  • tx_coll_count β€” transmit collision count
  • tx_pause_count β€” transmit pause packet count
  • tx64byte_pkts β€” transmitted 64-byte packet count
  • tx127byte_pkts β€” transmitted 65-127 byte packet count
  • tx255byte_pkts β€” transmitted 128-255 byte packet count
  • tx511byte_pkts β€” transmitted 256-511 byte packet count
  • tx1023byte_pkts β€” transmitted 512-1023 byte packet count
  • tx_max_byte_pkts β€” transmitted 1024-max byte packet count
  • tx_dropped_pkts β€” transmit dropped packet count
  • tx_acm_dropped_pkts β€” transmit ACM dropped packet count
  • rx_dropped_pkts β€” received dropped packet count
  • rx_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