t4_alloc_mac_filt(9)
π NAME π
okay bestie, welcome to the t4_alloc_mac_filt(9) page from the Kernel API Manual β it's giving exact-match MAC filter realness β¨
t4_alloc_mac_filt β allocates exact-match filters for MAC addresses π
β¨ SYNOPSIS β¨
int t4_alloc_mac_filt (struct adapter *adap , unsigned int mbox ,
unsigned int viid , bool free , unsigned int naddr , const u8 **addr ,
u16 *idx , u64 *hash , bool sleep_ok );
π ARGUMENTS π
adapβ the adapter. The main character here π«Άmboxβ mailbox to use for theFWcommand. Slay, that's the mailbox πviidβ the VI id. Yep, exactly that.freeβ iftrueany existing filters for this VI id are first removed. Like clearing the runway before the new fit πnaddrβ the number of MAC addresses to allocate filters for (up to7). Seven max, bestie.addrβ the MAC address(es). The actual addresses getting filters.idxβ where to store the index of each allocated filter.hashβ pointer to hash address filter bitmap.sleep_okβ call is allowed to sleep. Nap permission: granted π΄
πΈ DESCRIPTION πΈ
okay so this function allocates an exact-match filter for each of the supplied addresses and sets it to the corresponding address. It's literally one exact-match filter per address, no cap β¨
If idx is not NULL it should have at least naddr entries, each of which will be set to the index of the filter allocated for the corresponding MAC address. So if you're passing idx, make sure it's got room for at least naddr entries, bestie.
If a filter could not be allocated for an address its index is set to 0xffff. Not me getting a little 0xffff fail marker π
If hash is not NULL addresses that fail to allocate an exact filter are hashed and update the hash filter bitmap pointed at by hash. The fallback hash vibe is real.
Returns a negative error number or the number of filters allocated. So it's either an error or a count β iconic either way π
π¦ SEE ALSO π¦
Kernel file: ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
and then the whole reference group chat. All of these, no cap:
t4_wait_op_done_val(9), t4_set_reg_field(9), t4_read_indirect(9),
t4_write_indirect(9), t4_record_mbox(9), t4_wr_mbox_meat_timeout(9),
t4_memory_rw_init(9), t4_memory_update_win(9), t4_memory_rw_residual(9),
t4_memory_rw(9), t4_get_regs_len(9), t4_get_regs(9), t4_eeprom_ptov(9),
t4_seeprom_wp(9), t4_get_raw_vpd_params(9), t4_get_vpd_params(9),
t4_get_pfres(9), sf1_read(9), sf1_write(9), flash_wait_op(9),
t4_read_flash(9), t4_write_flash(9), t4_get_fw_version(9),
t4_get_bs_version(9), t4_get_tp_version(9), t4_get_exprom_version(9),
t4_get_vpd_version(9), t4_get_scfg_version(9), t4_get_version_info(9),
t4_dump_version_info(9), t4_check_fw_version(9),
t4_flash_erase_sectors(9), t4_flash_cfg_addr(9), t4_load_fw(9),
t4_phy_fw_ver(9), t4_load_phy_fw(9), t4_fwcache(9),
fwcaps16_to_caps32(9), fwcaps32_to_caps16(9), t4_link_acaps(9),
t4_link_l1cfg_core(9), t4_restart_aneg(9), t4_handle_intr_status(9),
t4_slow_intr_handler(9), t4_intr_enable(9), t4_intr_disable(9),
t4_config_rss_range(9), t4_config_glbl_rss(9), t4_config_vi_rss(9),
t4_read_rss(9), t4_tp_fw_ldst_rw(9), t4_tp_indirect_rw(9),
t4_tp_pio_read(9), t4_tp_pio_write(9), t4_tp_tm_pio_read(9),
t4_tp_mib_read(9), t4_read_rss_key(9), t4_write_rss_key(9),
t4_read_rss_pf_config(9), t4_read_rss_vf_config(9),
t4_read_rss_pf_map(9), t4_read_rss_pf_mask(9), t4_tp_get_tcp_stats(9),
t4_tp_get_err_stats(9), t4_tp_get_cpl_stats(9), t4_tp_get_rdma_stats(9),
t4_get_fcoe_stats(9), t4_get_usm_stats(9), t4_read_mtu_tbl(9),
t4_read_cong_tbl(9), t4_tp_wr_bits_indirect(9), init_cong_ctrl(9),
t4_load_mtus(9), t4_get_chan_txrate(9), t4_set_trace_filter(9),
t4_get_trace_filter(9), t4_pmtx_get_stats(9), t4_pmrx_get_stats(9),
compute_mps_bg_map(9), t4_get_mps_bg_map(9), t4_get_tp_e2c_map(9),
t4_get_tp_ch_map(9), t4_get_port_type_description(9),
t4_get_port_stats_offset(9), t4_get_port_stats(9), t4_get_lb_stats(9),
t4_mdio_rd(9), t4_mdio_wr(9), t4_sge_decode_idma_state(9),
t4_sge_ctxt_flush(9), t4_read_sge_dbqtimers(9), t4_fw_hello(9),
t4_fw_bye(9), t4_early_init(9), t4_fw_reset(9), t4_fw_halt(9),
t4_fw_restart(9), t4_fw_upgrade(9), t4_fl_pkt_align(9),
t4_fixup_host_params(9), t4_fw_initialize(9), t4_query_params_rw(9),
t4_set_params_timeout(9), t4_set_params(9), t4_cfg_pfvf(9),
t4_alloc_vi(9), t4_free_vi(9), t4_set_rxmode(9),
t4_free_encap_mac_filt(9), t4_free_raw_mac_filt(9),
t4_alloc_encap_mac_filt(9), t4_alloc_raw_mac_filt(9),
t4_free_mac_filt(9), t4_change_mac(9), t4_set_addr_hash(9),
t4_enable_vi_params(9), t4_enable_vi(9), t4_enable_pi_params(9),
t4_identify_port(9), t4_iq_stop(9), t4_iq_free(9), t4_eth_eq_free(9),
t4_ctrl_eq_free(9), t4_ofld_eq_free(9), t4_link_down_rc_str(9),
fwcap_to_fwspeed(9), lstatus_to_fwcap(9), t4_handle_get_port_info(9),
t4_update_port_info(9), t4_get_link_params(9), t4_handle_fw_rpl(9),
init_link_config(9), t4_prep_adapter(9), t4_shutdown_adapter(9),
t4_bar2_sge_qregs(9), t4_init_devlog_params(9), t4_init_sge_params(9),
t4_init_tp_params(9), t4_filter_field_shift(9), t4_init_portinfo(9),
t4_read_cimq_cfg(9), t4_read_cim_ibq(9), t4_read_cim_obq(9),
t4_cim_read(9), t4_cim_write(9), t4_cim_read_la(9), t4_tp_read_la(9),
t4_idma_monitor_init(9), t4_idma_monitor(9), t4_load_cfg(9),
t4_set_vf_mac_acl(9), t4_read_pace_tbl(9), t4_get_tx_sched(9),
t4_sge_ctxt_rd_bd(9), t4_i2c_rd(9), t4_set_vlan_acl(9),
modify_device_id(9), t4_load_boot(9), t4_flash_bootcfg_addr(9)
cute sign-off time π the footer says source/version ./drivers/net/ethernet/chelsio..., dated October 2026, and the manual name is t4_alloc_mac_filt(9). byeee π
β¨
π¦ 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