STRUCT MXL862XX_QOS_METER_CFG(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… struct mxl862xx_qos_meter_cfg(9) โ€” Rate meter configuration โœจ

okay bestie, welcome to the Kernel API Manual entry for struct mxl862xx_qos_meter_cfg(9) โ€” yes the header got squished in the original (struct mxl8...os_meter_cfg(9), iconic truncation energy) but we're spelling it out fully here. This is the rate meter config struct and it's genuinely so important, let's get into it ๐Ÿซถ


โœจ SYNOPSIS โœจ

struct mxl862xx_qos_meter_cfg {
    u8 enable;
    __le16 meter_id;
    char meter_name[32];
    __le32 meter_type;
    __le32 cbs;
    __le32 res1;
    __le32 ebs;
    __le32 res2;
    __le32 rate;
    __le32 pi_rate;
    u8 colour_blind_mode;
    u8 pkt_mode;
    u8 local_overhd;
    __le16 local_overhd_val;
 };

no cap, that's the whole struct. look at all those __le32s, she's structured ๐Ÿ’…


๐ŸŒธ Members ๐ŸŒธ

  • enable โ€” turns the meter on/off, like a lil light switch for rate limiting ๐Ÿ’ก
  • meter_id โ€” the meter's ID. bestie, firmware assigns this one on alloc, so you don't get to pick it yourself, that's not your job ๐ŸŽ€
  • meter_name โ€” a string with the meter's name. it's a char meter_name[32] so keep it cute and keep it short โœจ
  • meter_type โ€” which metering algorithm we're doing: srTCM = 0, trTCM = 1. pick your fighter ๐Ÿ‘‘
  • cbs โ€” Committed Burst Size, in bytes. the "how much can you get away with" number ๐Ÿ“
  • res1 โ€” Reserved. leave it alone, it's not for you ๐Ÿ™ˆ
  • ebs โ€” Excess Burst Size, in bytes. the bonus round ๐Ÿ’–
  • res2 โ€” Reserved too. scope it out, don't touch ๐Ÿ’€
  • rate โ€” Committed Information Rate, in kbit/s. the main character number, fr fr ๐Ÿ”ฅ
  • pi_rate โ€” Peak Information Rate, in kbit/s. the "but like, at your absolute peak" number โญ
  • colour_blind_mode โ€” enables colour-blind mode. slay ๐ŸŒˆ
  • pkt_mode โ€” enables packet mode ๐Ÿ“ฆ
  • local_overhd โ€” enables local overhead accounting ๐Ÿงฎ
  • local_overhd_val โ€” the local overhead accounting value, the actual number that goes with the flag above ๐Ÿ’œ

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

the reading list is long and honestly kind of iconic โ€” go live your truth in the Kernel file ./drivers/net/dsa/mxl862xx/mxl862xx-api.h and then say hi to all of these:

  • 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)
  • 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)
  • struct mxl862xx_rmon_port_cnt(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)

like, that's a lot of see-also, but that's the mxl862xx api family for you โ€” she's social ๐Ÿ’…

and that's the page bestie!! ๐ŸŽ€ this one lives at ./drivers/net/dsa/mxl862xx, dated October 2026, and it's from the Kernel API Manual. go forth and meter your rates responsibly, mwah ๐Ÿ˜˜๐Ÿ’–

๐Ÿ“ฆ where this page comes from