STRUCT MXL862XX_PMAPPER(9)
π struct mxl862xx_pmapper(9) β P-mapper Configuration
okay so this is a page from the Kernel API Manual, bestie, and it's all about struct mxl862xx_pmapper β the P-mapper config situation. yes it's as niche as it sounds and yes it still slays β¨
πΈ NAME πΈ
struct mxl862xx_pmapper β P-mapper Configuration. that's the whole vibe. it's a config struct, it holds mapping info, and honestly it's doing its job flawlessly π
π SYNOPSIS π
here's the shape of it. exact, no cap:
struct mxl862xx_pmapper {
__le16 pmapper_id;
u8 dest_sub_if_id_group[73];
};
that's it. two members. one of them is a 73-entry array and we'll get to why that's iconic in a sec π¦
β¨ Members β¨
pmapper_idβ the index of the P-mapper. it lives in the range0-31, so like... 32 of these bad boys max. pick your fave πdest_sub_if_id_groupβ the sub interface ID group π«Ά and the layout is very particular, so listen up:- entry 0 is for non-IP and non-VLAN tagged packets. the β¨no-frillsβ¨ slot.
- entries 1-8 are the PCP mapping entries, for VLAN tagged packets.
- entries 9-72 are the DSCP or LAG mapping entries.
that's the full 73, bestie. 1 + 8 + 64. the math is mathing π
π Description π
so what's it actually for? it's used by CTP port config and bridge port config. two callers, one struct, main character energy tbh π₯
here's the tea on the important bit though, and this is a real caveat so don't skip it:
In the case of LAG, it is user's responsibility to provide the mapped entries in the given P-mapper table. nobody's doing it for you, bestie β you hand over the entries yourself π
in the other modes, the entries are auto mapped from the input packet. the kernel handles it, you just vibe β
π SEE ALSO π
everything's chillin' in the kernel file ./drivers/net/dsa/mxl862xx/mxl862xx-api.h. go read the neighbours, they're all linked up:
- 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_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 the whole friend group. go say hi π§
and that's the page!! mwah π this lil manual lives over in ./drivers/net/dsa/mxl862xx and it's dated October 2026 β so yeah, it's from the future and it still ate. bye bestie, go map 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