STRUCT MXL862XX_BRIDGE_CONFIG(9)
π struct mxl862xx_bridge_config(9) π
okay so this is a page straight out of the Kernel API Manual, and bestie, it's literally the blueprint for a bridge config struct. it's giving "networking but make it structured" π no cap, every field here matters, so let's get into it π«Ά
β¨ NAME β¨
struct mxl862xx_bridge_config β Bridge Configuration π that's it, that's the whole vibe. it's the struct that holds a bridge's configuration. iconic.
πΈ SYNOPSIS πΈ
okay here's the actual shape of it, copied exactly because we do NOT freestyle struct definitions in this house π§
struct mxl862xx_bridge_config {
__le16 bridge_id;
__le32 mask;
u8 mac_learning_limit_enable;
__le16 mac_learning_limit;
__le16 mac_learning_count;
__le32 learning_discard_event;
u8 sub_metering_enable[MXL862XX_BRIDGE_PORT_EGRESS_METER_MAX];
__le16 traffic_sub_meter_id[MXL862XX_BRIDGE_PORT_EGRESS_METER_MAX];
__le32 forward_broadcast;
__le32 forward_unknown_multicast_ip;
__le32 forward_unknown_multicast_non_ip;
__le32 forward_unknown_unicast;
};
π Members π
okay bestie, field by field, no skipping, we're doing all twelve π
bridge_idβ the Bridge ID (FID). that's its whole job, and it ate πmaskβ the mask, bestie. for the actual deets go look atenum mxl862xx_bridge_config_mask.mac_learning_limit_enableβ the lil switch that enables MAC learning limitation. on or off, no in-between πmac_learning_limitβ the max number of MAC addresses that can be learned in this bridge. and note: that's all bridge ports, not per-port. the whole bridge, together, as a team π«Άmac_learning_countβ the number of MAC addresses learned from this bridge. the actual tally β¨learning_discard_eventβ the number of learning discard events that happened because a hardware resource was not available. sad but important πsub_metering_enableβ array (sizedMXL862XX_BRIDGE_PORT_EGRESS_METER_MAX) that says whether traffic metering applies on a type of traffic β think broadcast, multicast, unknown unicast, etc. βtraffic_sub_meter_idβ also an array,[MXL862XX_BRIDGE_PORT_EGRESS_METER_MAX]. this is the meter for bridge process with a specific type (broadcast, multicast, unknown unicast, etc.) π₯forward_broadcastβ the forwarding mode of broadcast traffic. seeenum mxl862xx_bridge_forward_mode.forward_unknown_multicast_ipβ the forwarding mode of unknown multicast IP traffic. seeenum mxl862xx_bridge_forward_mode.forward_unknown_multicast_non_ipβ the forwarding mode of unknown multicast non-IP traffic. seeenum mxl862xx_bridge_forward_mode. (yes, non-IP is a whole separate field, she's not like the others π )forward_unknown_unicastβ the forwarding mode of unknown unicast traffic. seeenum mxl862xx_bridge_forward_mode.
π¦ SEE ALSO π¦
the kernel file for all this lives at ./drivers/net/dsa/mxl862xx/mxl862xx-api.h β that's the spot, iykyk. and here's the full squad it rolls with, nothing cut, periodt π
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_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)
and that's the whole page, bestie, you're officially struct-pilled π β¨
this one comes from ./drivers/net/dsa/mxl862xx β October 2026 edition πΈ go off, kernel girlies π
π¦ 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