STRUCT MXL862XX_BRIDGE_PORT_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

struct mxl862xx_bridge_port_config β€” Bridge Port Configuration 🫢 (yes bestie, you're reading the struct mxl86..._port_config(9) page from the Kernel API Manual, it's iconic)


✨ SYNOPSIS

okay so here's the whole struct, no cap, every single field exactly as it lives:

struct mxl862xx_bridge_port_config {
    __le16 bridge_port_id;
    __le32 mask;
    __le16 bridge_id;
    u8 ingress_extended_vlan_enable;
    __le16 ingress_extended_vlan_block_id;
    __le16 ingress_extended_vlan_block_size;
    u8 egress_extended_vlan_enable;
    __le16 egress_extended_vlan_block_id;
    __le16 egress_extended_vlan_block_size;
    __le32 ingress_marking_mode;
    __le32 egress_remarking_mode;
    u8 ingress_metering_enable;
    __le16 ingress_traffic_meter_id;
    u8 egress_sub_metering_enable[MXL862XX_BRIDGE_PORT_EGRESS_METER_MAX];
    __le16 egress_traffic_sub_meter_id[MXL862XX_BRIDGE_PORT_EGRESS_METER_MAX];
    u8 dest_logical_port_id;
    u8 pmapper_enable;
    __le16 dest_sub_if_id_group;
    __le32 pmapper_mapping_mode;
    u8 pmapper_id_valid;
    struct mxl862xx_pmapper pmapper;
    __le16 bridge_port_map[8];
    u8 mc_dest_ip_lookup_disable;
    u8 mc_src_ip_lookup_enable;
    u8 dest_mac_lookup_disable;
    u8 src_mac_learning_disable;
    u8 mac_spoofing_detect_enable;
    u8 port_lock_enable;
    u8 mac_learning_limit_enable;
    __le16 mac_learning_limit;
    __le16 loop_violation_count;
    __le16 mac_learning_count;
    u8 ingress_vlan_filter_enable;
    __le16 ingress_vlan_filter_block_id;
    __le16 ingress_vlan_filter_block_size;
    u8 bypass_egress_vlan_filter1;
    u8 egress_vlan_filter1enable;
    __le16 egress_vlan_filter1block_id;
    __le16 egress_vlan_filter1block_size;
    u8 egress_vlan_filter2enable;
    __le16 egress_vlan_filter2block_id;
    __le16 egress_vlan_filter2block_size;
    u8 vlan_tag_selection;
    u8 vlan_src_mac_priority_enable;
    u8 vlan_src_mac_dei_enable;
    u8 vlan_src_mac_vid_enable;
    u8 vlan_dst_mac_priority_enable;
    u8 vlan_dst_mac_dei_enable;
    u8 vlan_dst_mac_vid_enable;
    u8 vlan_multicast_priority_enable;
    u8 vlan_multicast_dei_enable;
    u8 vlan_multicast_vid_enable;
};

πŸŽ€ Members

like, the field-by-field breakdown, you're welcome πŸ’–

  • bridge_port_id β€” the Bridge Port ID, allocated by bridge port allocation ✨
  • mask β€” peep enum mxl862xx_bridge_port_config_mask for this one
  • bridge_id β€” the Bridge ID (FID) this bridge port is associated with πŸ”—
  • ingress_extended_vlan_enable β€” turns on extended VLAN processing for ingress traffic
  • ingress_extended_vlan_block_id β€” the extended VLAN block allocated for ingress traffic
  • ingress_extended_vlan_block_size β€” extended VLAN block size for ingress traffic
  • egress_extended_vlan_enable β€” turns on extended VLAN processing for egress traffic
  • egress_extended_vlan_block_id β€” the extended VLAN block allocated for egress traffic
  • egress_extended_vlan_block_size β€” extended VLAN block size for egress traffic
  • ingress_marking_mode β€” ingress color marking mode, see enum mxl862xx_color_marking_mode 🎨
  • egress_remarking_mode β€” color remarking for egress traffic, see enum mxl862xx_color_remarking_mode
  • ingress_metering_enable β€” traffic metering on ingress traffic applies πŸ‘€
  • ingress_traffic_meter_id β€” the meter for ingress Bridge Port process
  • egress_sub_metering_enable β€” traffic metering on various types of egress traffic
  • egress_traffic_sub_meter_id β€” the meter for egress Bridge Port process with specific type
  • dest_logical_port_id β€” destination logical port πŸšͺ
  • pmapper_enable β€” enable P-mapper
  • dest_sub_if_id_group β€” destination sub interface ID group, used when pmapper_enable is false
  • pmapper_mapping_mode β€” P-mapper mapping mode, see enum mxl862xx_pmapper_mapping_mode
  • pmapper_id_valid β€” when true, P-mapper is re-used; when false, allocation is handled by API (yes, that flip-flop is real)
  • pmapper β€” the P-mapper configuration used when pmapper_enable is true
  • bridge_port_map β€” port map defining the broadcast domain. Each bit represents one bridge port. Bridge port ID is index * 16 + bit offset. πŸ“‡
  • mc_dest_ip_lookup_disable β€” disable multicast IP destination table lookup
  • mc_src_ip_lookup_enable β€” enable multicast IP source table lookup
  • dest_mac_lookup_disable β€” disable destination MAC lookup; packet treated as unknown πŸ«₯
  • src_mac_learning_disable β€” disable source MAC address learning
  • mac_spoofing_detect_enable β€” enable MAC spoofing detection 🚨
  • port_lock_enable β€” enable port locking πŸ”’
  • mac_learning_limit_enable β€” enable MAC learning limitation
  • mac_learning_limit β€” maximum number of MAC addresses that can be learned from this bridge port
  • loop_violation_count β€” number of loop violation events from this bridge port
  • mac_learning_count β€” number of MAC addresses learned from this bridge port
  • ingress_vlan_filter_enable β€” enable ingress VLAN filter
  • ingress_vlan_filter_block_id β€” VLAN filter block of ingress traffic
  • ingress_vlan_filter_block_size β€” VLAN filter block size for ingress traffic
  • bypass_egress_vlan_filter1 β€” for ingress traffic, bypass VLAN filter 1 at egress bridge port processing
  • egress_vlan_filter1enable β€” enable egress VLAN filter 1
  • egress_vlan_filter1block_id β€” VLAN filter block 1 of egress traffic
  • egress_vlan_filter1block_size β€” VLAN filter block 1 size
  • egress_vlan_filter2enable β€” enable egress VLAN filter 2
  • egress_vlan_filter2block_id β€” VLAN filter block 2 of egress traffic
  • egress_vlan_filter2block_size β€” VLAN filter block 2 size
  • vlan_tag_selection β€” VLAN tag selection for MAC address/multicast learning, lookup and filtering. 0 - Intermediate outer VLAN tag is used. 1 - Original outer VLAN tag is used.
  • vlan_src_mac_priority_enable β€” enable VLAN Priority field for source MAC learning and filtering
  • vlan_src_mac_dei_enable β€” enable VLAN DEI/CFI field for source MAC learning and filtering
  • vlan_src_mac_vid_enable β€” enable VLAN ID field for source MAC learning and filtering
  • vlan_dst_mac_priority_enable β€” enable VLAN Priority field for destination MAC lookup and filtering
  • vlan_dst_mac_dei_enable β€” enable VLAN CFI/DEI field for destination MAC lookup and filtering
  • vlan_dst_mac_vid_enable β€” enable VLAN ID field for destination MAC lookup and filtering
  • vlan_multicast_priority_enable β€” enable VLAN Priority field for IP multicast lookup
  • vlan_multicast_dei_enable β€” enable VLAN CFI/DEI field for IP multicast lookup
  • vlan_multicast_vid_enable β€” enable VLAN ID field for IP multicast lookup

🌈 SEE ALSO

the whole squad, in the kernel file ./drivers/net/dsa/mxl862xx/mxl862xx-api.h β€” every last one, fr fr:

  • 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_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)

🫢 that's the whole page bestie, nothing skipped, nothing summarised. go configure those bridge ports, you absolute icon πŸ‘‘

kisses, mwah πŸ’‹ β€” this masterpiece lives in ./drivers/net/dsa/mxl862xx, dated October 2026, and it answers to struct mxl86..._port_config(9) if you ever need to find it again βœ¨πŸŽ€

πŸ“¦ where this page comes from