STRUCT MXL862XX_MAC_TABLE_ADD(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… struct mxl862xx_mac_table_add(9) โ€” Kernel API Manual ๐ŸŽ€

okay so bestie, this is a Kernel API Manual page, and it's all about struct mxl862xx_mac_table_add โ€” literally the blueprint for one MAC table entry you wanna add. That's it. That's the whole vibe. It's giving "backstage pass to the switch's guest list" โœจ


๐ŸŒธ NAME ๐ŸŒธ

struct mxl862xx_mac_table_add โ€” MAC Table Entry to be added ๐Ÿ’Œ


โœจ SYNOPSIS โœจ

here's the shape of it, no cap, copy it exactly:

struct mxl862xx_mac_table_add {
    __le16 fid;
    __le32 port_id;
    __le16 port_map[8];
    __le16 sub_if_id;
    __le32 age_timer;
    __le16 vlan_id;
    u8 static_entry;
    u8 traffic_class;
    u8 mac[ETH_ALEN];
    u8 filter_flag;
    u8 igmp_controlled;
    u8 associated_mac[ETH_ALEN];
    __le16 tci;
};

๐Ÿฆ‹ Members ๐Ÿฆ‹

okay so every single field, one by one, and what it's serving:

  • fid โ€” the Filtering Identifier (FID). quick heads-up tho: it's not supported by all switches, so don't be shocked if some hardware just ignores it ๐Ÿ™ˆ
  • port_id โ€” the Ethernet Port number, i.e. which port this entry is about ๐Ÿ”Œ
  • port_map[8] โ€” the Bridge Port Map. it's an array of 8, and yeah it's a whole map ๐Ÿ—บ๏ธ
  • sub_if_id โ€” Sub-Interface Identifier Destination ๐ŸŽฏ
  • age_timer โ€” Aging Time, counted in seconds โณ (yes, seconds, not vibes)
  • vlan_id โ€” the STAG VLAN Id ๐Ÿท๏ธ
  • static_entry โ€” Static Entry. and bestie, read this twice: the value will be aged out if not set to static. so if you wanted it to stick around forever, you gotta actually set this ๐Ÿ’€
  • traffic_class โ€” Egress queue traffic class ๐Ÿšฆ
  • mac โ€” the MAC Address to add to the table. this is the actual main character here ๐Ÿ‘‘
  • filter_flag โ€” see enum mxl862xx_mac_table_filter ๐Ÿ•ต๏ธ
  • igmp_controlled โ€” a packet is marked as IGMP controlled if the destination MAC address matches the MAC in this entry ๐Ÿ“ฎ
  • associated_mac โ€” the Associated Mac address ๐Ÿซถ
  • tci โ€” TCI for B-Step, broken down like this:
    • Bit [0:11] โ€” VLAN ID
    • Bit [12] โ€” VLAN CFI/DEI
    • Bit [13:15] โ€” VLAN PRI

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

the whole friend group, fr fr โ€” first up, the kernel file itself: ./drivers/net/dsa/mxl862xx/mxl862xx-api.h, and then all of these cuties:

  • struct mdio_relay_data(9)
  • struct mxl862xx_register_mod(9)
  • enum mxl862xx_mac_table_filter(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_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 ๐Ÿซถ sign-off time: this one lives over in ./drivers/net/dsa/mxl862xx and it's dated October 2026. go add those MAC entries, slay ๐Ÿ’…๐ŸŒธ

๐Ÿ“ฆ where this page comes from