bnx2x_complete_vlan_mac(9)
π bnx2x_complete_vlan_mac β bestie edition π
okay so this is a page from the Kernel API Manual, section 9, and we're talking about bnx2x_complete_vlan_mac(9). strap in, it's giving "one small function, one big driver" energy π¦
β¨ NAME β¨
bnx2x_complete_vlan_mac β the function that completes one VLAN-MAC ramrod π (yes that's the real terminology, no I did not make it up, and yes it's iconic)
πΈ SYNOPSIS πΈ
int bnx2x_complete_vlan_mac (struct bnx2x *bp , struct
bnx2x_vlan_mac_obj *o , union event_ring_elem *cqe , unsigned long
*ramrod_flags );
literally just four params and an int return, we love a minimal signature π
π«Ά ARGUMENTS π«Ά
bpβ the device handle π» like, this is your actual NIC, your main characteroβ abnx2x_vlan_mac_objπ that's the VLAN-MAC object itself, the thing we're completingcqeβ the completion element β¨ as in, the completion queue entry that came back β the receipt, basicallyramrod_flagsβ and bestie listen, if set, schedule next execution chunk π₯ that's the whole deal with this one: set it and the next chunk of work gets queued up
nglramrod_flagsbeing aunsigned long *(a pointer!) is a vibe, but it's exactly what the manpage says so we're not touching it π
π SEE ALSO π
okay this is the long part and I am not skipping a single one, because every entry here is a lil piece of the bnx2x cinematic universe π first up, the file it all lives in:
- Kernel file
./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.cπ
and then, in the order the page gives them, the whole friend group:
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_mac_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_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)
likeβ¦ 57 references, the way this function has connections π go off, syscall graph π
that's the whole page, no cap, nothing left out π§π
cute lil sign-off: this one's from the Kernel API Manual, pulled out of ./drivers/net/ethernet/broadco... (yeah the path is truncated in the footer, that's just how it comes, don't @ me), and it's dated October 2026. periodt. π
β¨
π¦ 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