ice_subscribe_recipe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ice_subscribe_recipe(9) β€” kernel API manual, but make it make sense πŸ’–

okay so bestie, welcome to ice_subscribe_recipe(9) ✨ this is a kernel API manual page (yes, section 9, the ~spicy~ one) and we're gonna get you subscribed to a recipe that already exists. no cap, that's literally the whole vibe. 🧚


✨ NAME ✨

ice_subscribe_recipe β€” subscribe to an existing recipe πŸ’…

like, the recipe is already out there. you're not cooking a new one. you're just pulling up and saying "yeah, i want in on that one." iconic behavior tbh. πŸŽ€


🌸 SYNOPSIS 🌸

int ice_subscribe_recipe (struct ice_hw *hw , u16 rid );

that's it. that's the whole signature. two arguments, one int coming back at you. slay. πŸ’œ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • hw β€” pointer to the hardware structure. it's giving "here's my whole hardware situation, please be careful with it" 🫢 it's a pointer, so like, it points at the struct ice_hw. that's your context, your main character.
  • rid β€” the recipe ID you wanna subscribe to. a u16, so keep it in range, bestie. this is the specific recipe you're claiming. iykyk. πŸ”₯

⭐ RETURN ⭐

0 on success, and others on error.

so, to be crystal clear: 0 = we ate, everything's good πŸ‘‘. anything that isn't 0 = not 0, i.e. an error of some kind. the page doesn't get more specific than "others," so that's all we're claiming. don't come for me. πŸ’€

ngl, always check your return value. 0 is your bestie, everything else is a vibe check you failed. πŸ™ˆ

🌈 SEE ALSO 🌈

okay this section is long long, so buckle up. here's the whole friend group, in order, all of them, exactly as listed β€” because we do not skip anyone at this party. πŸ“

the kernel file lives at ./drivers/net/ethernet/intel/ice/ice_switch.c β€” that's the source, go say hi.

the vsi & hw crew 🧚 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)

the recipe administration girlies πŸŽ€ 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)

the packet-filling & rule-making squad πŸ¦‹ 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)

the mac & vlan filter crowd πŸ’œ 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)

the resource management clique πŸ’… 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_subscribable_recp_shared(9), ice_add_adv_recipe(9)

the advanced/dummy packet extended universe πŸ”₯ 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)

the replay & removal finale 🌟 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)

periodt. that's every single one. 🫢


pro tip from me to you: this page is a kernel API page, so it's talking to driver devs, not to your shell. no flags to type, no config to tweak. you're in C territory now, bestie. πŸ’–

and that's the whole thing, bestie!! ✨ this page came from the source tree at ./drivers/net/ethernet/intel/ice, and it's dated October 2026, still signed ice_subscribe_recipe(9) β€” go be a good kernel citizen and subscribe responsibly. πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from