bnx2x_set_one_mac_e1x(9)
π bnx2x_set_one_mac_e1x (kernel API manual, bestie edition) π
Okay so this is a page from the Kernel API Manual, and the star of the show is bnx2x_set_one_mac_e1x β like, literally the function that fills a single MAC rule ramrod data. That's the whole vibe. β¨
β¨ NAME β¨
bnx2x_set_one_mac_e1x β fill a single MAC rule ramrod data π
πΈ SYNOPSIS πΈ
void bnx2x_set_one_mac_e1x (struct bnx2x *bp , struct bnx2x_vlan_mac_obj
*o , struct bnx2x_exeq_elem *elem , int rule_idx , int cam_offset );
That's it, that's the whole signature. It returns void, so likeβ¦ no return value to obsess over. She just does the thing and dips. π«Ά
π ARGUMENTS π
Every single one, no skipping, we're being thorough today:
bpβ the device handle. Your lil' connection to the actual hardware, the main character of the structs. πoβ abnx2x_vlan_mac_obj. Yep, that's the type, that's the name, we move.elemβ abnx2x_exeq_elem. The queue element in question, fr fr.rule_idxβrule_idx. It's giving "the index of the rule," and honestly? That's all the manpage gives us and I respect the brevity. πcam_offsetβcam_offset. The CAM offset, bestie. That's the tea. π
Side note: this page is not out here trying to over-explain. It tells you the type, it tells you the name, and it trusts you to be smart. We love a lowkey confident doc. π
π¦ SEE ALSO π¦
Bestie. Sit down. This list is long and we are getting through all of it, because every single one of these is part of the family. π
First off, the actual file she lives in:
Kernel file ./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
And now the whole squad, in order, exactly as listed:
bnx2x_exe_queue_init(9)bnx2x_exe_queue_add(9)bnx2x_exe_queue_step(9)bnx2x_state_wait(9)__bnx2x_vlan_mac_h_write_trylock(9)__bnx2x_vlan_mac_h_exec_pending(9)__bnx2x_vlan_mac_h_pend(9)__bnx2x_vlan_mac_h_write_unlock(9)__bnx2x_vlan_mac_h_read_lock(9)bnx2x_vlan_mac_h_read_lock(9)__bnx2x_vlan_mac_h_read_unlock(9)bnx2x_vlan_mac_h_read_unlock(9)bnx2x_vlan_mac_set_cmd_hdr_e2(9)bnx2x_vlan_mac_set_rdata_hdr_e2(9)bnx2x_vlan_mac_set_rdata_hdr_e1x(9)bnx2x_set_one_vlan_mac_e1h(9)bnx2x_vlan_mac_restore(9)bnx2x_validate_vlan_mac_add(9)bnx2x_validate_vlan_mac_del(9)bnx2x_validate_vlan_mac_move(9)bnx2x_wait_vlan_mac(9)bnx2x_complete_vlan_mac(9)bnx2x_optimize_vlan_mac(9)bnx2x_vlan_mac_get_registry_elem(9)bnx2x_execute_vlan_mac(9)bnx2x_config_vlan_mac(9)bnx2x_vlan_mac_del_all(9)bnx2x_mcast_get_next_bin(9)bnx2x_mcast_clear_first_bin(9)bnx2x_mcast_handle_restore_cmd_e2(9)bnx2x_mcast_handle_current_cmd(9)bnx2x_mcast_set_rdata_hdr_e2(9)bnx2x_mcast_refresh_registry_e2(9)bnx2x_mcast_set_rdata_hdr_e1(9)bnx2x_mcast_handle_restore_cmd_e1(9)bnx2x_get_fw_mac_addr(9)bnx2x_mcast_refresh_registry_e1(9)__atomic_add_ifless(9)__atomic_dec_ifmoe(9)bnx2x_init_credit_pool(9)bnx2x_debug_print_ind_table(9)bnx2x_setup_rss(9)bnx2x_queue_state_change(9)bnx2x_queue_comp_cmd(9)bnx2x_q_init(9)bnx2x_q_send_deactivate(9)bnx2x_q_send_activate(9)bnx2x_queue_chk_transition(9)bnx2x_func_state_change_comp(9)bnx2x_func_comp_cmd(9)bnx2x_func_chk_transition(9)bnx2x_func_init_func(9)bnx2x_func_init_port(9)bnx2x_func_init_cmn_chip(9)bnx2x_func_init_cmn(9)bnx2x_func_reset_func(9)bnx2x_func_reset_port(9)bnx2x_func_reset_cmn(9)bnx2x_func_state_change(9)
Sixty-ish cross-references and I listed every last one. Not me being extra, just me being accurate. π π₯
Heads up: some of those names are very similar to each other β__bnx2x_vlan_mac_h_read_lockvsbnx2x_vlan_mac_h_read_lock, one with the double underscore, one without. Read them carefully, bestie, don't let the underscore gremlins win. π
π§ Sign-off π§
This absolute queen of a page comes from the source path ./drivers/net/ethernet/broadco... (yeah, it's truncated in the footer, that's just how it is π), and it's dated October 2026. So likeβ¦ future-dated documentation. Iconic behaviour. See you in the kernel, babe. πβ¨
π¦ 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