bnx2x_vlan_mac_restore(9)
π
bnx2x_vlan_mac_restore(9) β a.k.a. the "Kernel API Manual" glow-up
okay so bestie, welcome to the group chat. This is bnx2x_vlan_mac_restore(9), straight out of the Kernel API Manual, and she's here to redo your MAC/VLAN/VLAN-MAC setup one element at a time. grab a boba, we're going in π§β¨
β¨ NAME β¨
bnx2x_vlan_mac_restore β reconfigure next MAC/VLAN/VLAN-MAC element π
π¦ SYNOPSIS π¦
int bnx2x_vlan_mac_restore (struct bnx2x *bp , struct
bnx2x_vlan_mac_ramrod_params *p , struct bnx2x_vlan_mac_registry_elem
**ppos );
πΈ ARGUMENTS πΈ
bpβ device handle. that's your lil bb device, be nice to it πpβ command parameters. the whole vibe-setting package π«Άpposβ pointer to the cookie. yes, the cookie. we'll get to her π
π DESCRIPTION π
so what she does: she reconfigures the next MAC/VLAN/VLAN-MAC element from the list of elements you already configured before. literally just iterating, but make it iconic β¨
from the command parameters, only the RAMROD_COMP_WAIT bit in ramrod_flags is taken into account. that's it. one bit. she's lowkey picky like that π
and now the cookie situation, because ppos is the main character here π:
- pointer to the cookie β that's the value you have to give back in the next call, so the function can handle the next element. iykyk π
- if
*pposis set toNULL, it will restart the iterator. fresh start, new me, no cap π₯ - if the returned
*ppos == NULL, that means the last element has been handled. congrats bestie, you're done, periodt π
ngl the *ppos == NULL on return is the "we're so back β it's over" pipeline, so do NOT keep calling her after that thinking there's more. there is not. π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c β the source of truth, go read her π
the whole friend group, in the order the manpage says, no gatekeeping:
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_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)
and that's the whole page, bestie π«Ά source path got a lil chopped in the footer as ./drivers/net/ethernet/broadco..., dated October 2026, and the manpage name is bnx2x_vlan_mac_restore(9). slay, go handle your elements one at a time π
β¨π
π¦ 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