ice_prof_gen_key(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_prof_gen_key β€” generate profile ID key ✨

okay so bestie, welcome to the kernel API manual for ice_prof_gen_key, and yes we ARE gonna read the whole thing together, no skipping 🫢 this is the ice driver flex pipe stuff, it's giving "deep magic but make it cute".


πŸŽ€ NAME

ice_prof_gen_key β€” generate profile ID key ✨ like literally that's the whole job, it builds you a key πŸ‘‘


🌸 SYNOPSIS

int ice_prof_gen_key (struct ice_hw *hw , enum ice_block blk , u8 ptg ,
u16 vsig , u8 cdid , u16 flags , u8 vl_msk[ICE_TCAM_KEY_VAL_SZ] , u8
dc_msk[ICE_TCAM_KEY_VAL_SZ] , u8 nm_msk[ICE_TCAM_KEY_VAL_SZ] , u8
key[ICE_TCAM_KEY_SZ] );

she takes a whole little friend group of arguments and returns an int, periodt πŸ’œ


✨ ARGUMENTS ✨

okay so every single one of these matters, don't be skipping:

  • hw β€” pointer to the HW struct πŸ–₯️ like, the actual hardware she's working with, no cap.
  • blk β€” the block in which to write profile ID to 🧱 that's the enum ice_block, it's where the profile ID goes.
  • ptg β€” packet type group (PTG) portion of key πŸ“¦ a u8, this chunk of the key is the PTG part.
  • vsig β€” VSIG portion of key πŸ”₯ a u16, this chunk is the VSIG part, iconic.
  • cdid β€” CDID portion of key πŸ’« a u8, the CDID part of the key, slay.
  • flags β€” flag portion of key 🚩 a u16, yep that's the flags bit.
  • vl_msk β€” valid mask βœ… an array of u8 sized ICE_TCAM_KEY_VAL_SZ.
  • dc_msk β€” don't care mask πŸ™ˆ also u8[ICE_TCAM_KEY_VAL_SZ], like she literally does not care bestie.
  • nm_msk β€” never match mask πŸ’€ u8[ICE_TCAM_KEY_VAL_SZ], this one never matches, it's giving boundaries.
  • key β€” output of profile ID key 🎁 u8[ICE_TCAM_KEY_SZ], this is where the generated key lands, the main character of the whole function ngl.

πŸ¦‹ SEE ALSO

the kernel file lives at ./drivers/net/ethernet/intel/ice/ice_flex_pipe.c if you wanna go read the source, and here's the FULL friend list because we do not leave anyone out of the group chat πŸ’–:

ice_sect_id(9), ice_hw_ptype_ena(9), ice_gen_key_word(9), ice_bits_max_set(9), ice_set_key(9), ice_acquire_change_lock(9), ice_release_change_lock(9), ice_get_open_tunnel_port(9), ice_upd_dvm_boost_entry(9), ice_set_dvm_boost_entries(9), ice_tunnel_idx_to_entry(9), ice_create_tunnel(9), ice_destroy_tunnel(9), ice_find_prot_off(9), ice_ptg_find_ptype(9), ice_ptg_alloc_val(9), ice_ptg_remove_ptype(9), ice_ptg_add_mv_ptype(9), ice_match_prop_lst(9), ice_vsig_find_vsi(9), ice_vsig_alloc_val(9), ice_vsig_alloc(9), ice_find_dup_props_vsig(9), ice_vsig_free(9), ice_vsig_remove_vsi(9), ice_vsig_add_mv_vsi(9), ice_prof_has_mask_idx(9), ice_prof_has_mask(9), ice_find_prof_id_with_mask(9), ice_prof_id_rsrc_type(9), ice_tcam_ent_rsrc_type(9), ice_alloc_tcam_ent(9), ice_free_tcam_ent(9), ice_alloc_prof_id(9), ice_free_prof_id(9), ice_prof_inc_ref(9), ice_write_prof_mask_reg(9), ice_write_prof_mask_enable_res(9), ice_init_prof_masks(9), ice_init_all_prof_masks(9), ice_alloc_prof_mask(9), ice_free_prof_mask(9), ice_free_prof_masks(9), ice_shutdown_prof_masks(9), ice_shutdown_all_prof_masks(9), ice_update_prof_masking(9), ice_write_es(9), ice_prof_dec_ref(9), ice_init_sw_xlt1_db(9), ice_init_sw_xlt2_db(9), ice_init_sw_db(9), ice_fill_tbl(9), ice_fill_blk_tbls(9), ice_free_prof_map(9), ice_free_flow_profs(9), ice_free_vsig_tbl(9), ice_free_hw_tbls(9), ice_init_flow_profs(9), ice_clear_hw_tbls(9), ice_init_hw_tbls(9), ice_tcam_write_entry(9), ice_vsig_get_ref(9), ice_has_prof_vsig(9), ice_prof_bld_es(9), ice_prof_bld_tcam(9), ice_prof_bld_xlt1(9), ice_prof_bld_xlt2(9), ice_upd_prof_hw(9), ice_update_fd_mask(9), ice_update_fd_swap(9), ice_get_ptype_attrib_info(9), ice_add_prof_attrib(9), ice_disable_fd_swap(9), ice_search_prof_id(9), ice_vsig_prof_id_count(9), ice_rel_tcam_idx(9), ice_rem_prof_id(9), ice_rem_vsig(9), ice_rem_prof_id_vsig(9), ice_rem_flow_all(9), ice_rem_prof(9), ice_get_prof(9), ice_get_profs_vsig(9), ice_add_prof_to_lst(9), ice_move_vsi(9), ice_set_tcam_flags(9), ice_rem_chg_tcam_ent(9), ice_prof_tcam_ena_dis(9), ice_ptg_attr_in_use(9), ice_adj_prof_priorities(9), ice_add_prof_id_vsig(9), ice_create_prof_id_vsig(9), ice_create_vsig_from_lst(9), ice_find_prof_vsig(9), ice_add_prof_id_flow(9), ice_flow_assoc_fdir_prof(9), ice_rem_prof_from_list(9), ice_rem_prof_id_flow(9)

ik ik, that's a LOT of functions, but they're all family πŸ§šβ€β™€οΈπŸ’œ


🌈 the cute sign-off

that's the whole page bestie!! πŸ’– this one's from the kernel API manual, sourced out of ./drivers/net/ethernet/intel/ice, dated October 2026 πŸ“… β€” go be iconic with your profile ID keys, mwah πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from