ice_find_free_recp_res_idx(9)
π ice_find_free_recp_res_idx(9) π
okay bestie, welcome to the Kernel API Manual entry for ice_find_free_recp_res_idx(9) β we're finding free result indexes for a recipe, and yes, it's exactly as niche and iconic as it sounds. β¨
β¨ NAME β¨
ice_find_free_recp_res_idxβ find free result indexes for recipe. that's the whole name vibe, no cap. π
π¦ SYNOPSIS π¦
u16 ice_find_free_recp_res_idx (struct ice_hw *hw , const unsigned long
*profiles , unsigned long *free_idx );
π ARGUMENTS π
hwβ pointer to hardware structure. the hardware's main character moment. πprofilesβ bitmap of profiles that will be associated with the new recipe. think guest list, but for profiles. πfree_idxβ pointer to variable to receive the free index bitmap. it's literally catching the free-index tea. π
πΈ DESCRIPTION πΈ
The algorithm used here is giving very much "figure out which result indexes are free before we commit," and it goes like this:
- When creating a new recipe, create a set
Pwhich contains all Profiles that will be associated with our new recipe. π - For each Profile
pin setP:- a. Add all recipes associated with Profile
pinto setR. - b. Optional:
PossibleIndexes &= profile[p].possibleIndexesβ initiallyPossibleIndexesshould be0xFFFFFFFFFFFFFFFF.- i. Or just assume they all have the same possible indexes:
44,45,46,47, i.e.,PossibleIndexes = 0x0000F00000000000.
- i. Or just assume they all have the same possible indexes:
- a. Add all recipes associated with Profile
- For each Recipe
rin setR:- a.
UsedIndexes |=(bitwise or)recipe[r].res_indexes. - b.
FreeIndexes = UsedIndexes ^ PossibleIndexes.
- a.
FreeIndexes will contain the bits indicating the indexes free for use, then the code needs to update recipe[r].used_result_idx_bits to indicate which indexes were selected for use by this recipe. slay. π₯
π SEE ALSO π
Kernel file: ./drivers/net/ethernet/intel/ice/ice_switch.c β yes, that exact path, bestie. π«Ά
Then all the linked manual pages, in their full glory:
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_get_recp_frm_fw(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_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)
π that's the whole glow-up, bestie β this Kernel API Manual entry for ice_find_free_recp_res_idx(9) comes from ./drivers/net/ethernet/intel/ice and is 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