ice_get_recp_frm_fw(9)
π ice_get_recp_frm_fw β from the Kernel API Manual (section 9, bestie)
okay so picture this: the firmware has opinions, and the software has a notebook. this function is the little goblin that copies the firmware's opinions into our notebook so nobody's out here guessing β¨
πΈ SYNOPSIS πΈ
int ice_get_recp_frm_fw (struct ice_hw *hw , struct ice_sw_recipe *recps
, u8 rid , bool *refresh_required , bool is_add );
like, five args, one int back, it's giving "utility function that knows too much" and honestly? respect π
π ARGUMENTS π
hwβ pointer to the hardware structure. the main character of the whole file, fr fr π«Άrecpsβ the struct that we need to populate. she's empty and we're about to fill her in β¨ridβ the recipe ID that we are populating. needs au8, so keep it smol.refresh_requiredβtrueif we should get the recipe-to-profile mapping from FW. like, do we need the firmware's take or are we good πis_addβ flag of adding recipe. literally just says whether we're doing an add. iconic.
π¦ DESCRIPTION π¦
so what does she actually do? this function populates all the necessary entries into our bookkeeping π the whole point is vibes β and by vibes i mean a current list of all the recipes that are programmed in the firmware.
that's it. that's the job. no cap, it's just keeping our records matching reality so every other function in ice_switch.c isn't out here living a lie π
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/net/ethernet/intel/ice/ice_switch.c and then there's... the friend group. the whole friend group. not me about to type out every single one, but i said what i said and i'm a girl of my word π
ice_init_def_sw_recp(9)ice_aq_get_sw_cfg(9)ice_aq_add_vsi(9)ice_aq_free_vsi(9)ice_aq_update_vsi(9)ice_is_vsi_valid(9)ice_get_hw_vsi_num(9)ice_get_vsi_ctx(9)ice_save_vsi_ctx(9)ice_clear_vsi_q_ctx(9)ice_clear_vsi_ctx(9)ice_clear_all_vsi_ctx(9)ice_add_vsi(9)ice_free_vsi(9)ice_update_vsi(9)ice_cfg_rdma_fltr(9)ice_aq_alloc_free_vsi_list(9)ice_aq_sw_rules(9)ice_aq_add_recipe(9)ice_aq_get_recipe(9)ice_update_recipe_lkup_idx(9)ice_aq_map_recipe_to_profile(9)ice_aq_get_recipe_to_profile(9)ice_init_chk_recipe_reuse_support(9)ice_alloc_recipe(9)ice_free_recipe_res(9)ice_release_recipe_res(9)ice_get_recp_to_prof_map(9)ice_fill_sw_info(9)ice_fill_eth_hdr(9)ice_fill_sw_rule(9)ice_add_marker_act(9)ice_create_vsi_list_map(9)ice_update_vsi_list_rule(9)ice_create_vsi_list_rule(9)ice_create_pkt_fwd_rule(9)ice_update_pkt_fwd_rule(9)ice_update_sw_rule_bridge_mode(9)ice_add_update_vsi_list(9)ice_find_rule_entry(9)ice_find_vsi_list_entry(9)ice_add_rule_internal(9)ice_remove_vsi_list_rule(9)ice_rem_update_vsi_list(9)ice_remove_rule_internal(9)ice_vlan_fltr_exist(9)ice_add_mac(9)ice_add_vlan_internal(9)ice_add_vlan(9)ice_add_eth_mac(9)ice_remove_eth_mac(9)ice_rem_sw_rule_info(9)ice_rem_adv_rule_info(9)ice_cfg_dflt_vsi(9)ice_vsi_uses_fltr(9)ice_check_if_dflt_vsi(9)ice_remove_mac(9)ice_remove_vlan(9)ice_add_entry_to_vsi_fltr_list(9)ice_add_to_vsi_fltr_list(9)ice_determine_promisc_mask(9)ice_remove_promisc(9)ice_clear_vsi_promisc(9)ice_set_vsi_promisc(9)ice_set_vlan_vsi_promisc(9)ice_remove_vsi_lkup_fltr(9)ice_remove_vsi_fltr(9)ice_alloc_res_cntr(9)ice_free_res_cntr(9)ice_share_res(9)ice_find_recp(9)ice_change_proto_id_to_dvm(9)ice_prot_type_to_id(9)ice_fill_valid_words(9)ice_fill_fv_word_index(9)ice_find_free_recp_res_idx(9)ice_calc_recp_cnt(9)ice_add_sw_recipe(9)ice_subscribe_recipe(9)ice_subscribable_recp_shared(9)ice_add_adv_recipe(9)ice_dummy_packet_add_vlan(9)ice_find_dummy_packet(9)ice_fill_adv_dummy_packet(9)ice_fill_adv_packet_tun(9)ice_fill_adv_packet_vlan(9)ice_find_adv_rule_entry(9)ice_adv_add_update_vsi_list(9)ice_add_adv_rule(9)ice_replay_vsi_fltr(9)ice_adv_rem_update_vsi_list(9)ice_rem_adv_rule(9)ice_rem_adv_rule_by_id(9)ice_replay_vsi_adv_rule(9)ice_replay_vsi_all_fltr(9)ice_rm_all_sw_replay_rule_info(9)
π sign-off π
shoutout to ./drivers/net/ethernet/intel/ice for hosting all this, and to October 2026 for the timestamp π that's the tea, bestie β go populate those entries π
β¨π
π¦ 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