STRUCT MXL862XX_BRIDGE_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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 at enum 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 (sized MXL862XX_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. see enum mxl862xx_bridge_forward_mode.
  • forward_unknown_multicast_ip β€” the forwarding mode of unknown multicast IP traffic. see enum mxl862xx_bridge_forward_mode.
  • forward_unknown_multicast_non_ip β€” the forwarding mode of unknown multicast non-IP traffic. see enum 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. see enum 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