ice_cfg_tx_topo(9)
π ice_cfg_tx_topo β initialize a new Tx topology if one's available π
okay so bestie, welcome to section 9 of the Kernel API Manual β this is the one about ice_cfg_tx_topo, and yes it's exactly as niche and exactly as iconic as it sounds π§β¨
πΈ SYNOPSIS πΈ
int ice_cfg_tx_topo (struct ice_hw *hw , const void *buf , u32 len );
like, that's the whole signature. three args. no cap. π«Ά
π ARGUMENTS π
hwβ pointer to the HW struct πbufβ pointer to the Tx topology buffer π¦lenβ the buffer size, bestie, don't forget it πΈ
β¨ DESCRIPTION β¨
okay so here's the vibe: the function will apply the new Tx topology from the package buffer if available β that "if available" is doing so much work, lowkey. no buffer, no new topology, that's just how it is. π
π₯ RETURN π₯
the return values are giving very much "here's exactly what happened", so let's go through them:
0β successfully applied the topology configuration π slay-EBUSYβ failed to acquire the global configuration lock π somebody else had it first-EEXISTβ topology configuration has already been applied, we been knew π-EIOβ unable to apply the topology configuration π oof-ENODEVβ failed to re-initialize device after applying the configuration, which is highkey the worst one ngl π«- other negative error codes β these indicate unexpected failures, like, surprise! not the fun kind π
fr fr, that -ENODEV one means the config got applied but the device didn't come back properly β keep an eye on that vibe check.
π¦ SEE ALSO π¦
first up, the kernel file, main character energy:
Kernel file ./drivers/net/ethernet/intel/ice/ice_ddp.c
and then, bestie, the entire friend group π β every single one of these is referenced, so here they all are in their full glory:
ice_verify_pkg(9)ice_free_seg(9)ice_chk_pkg_version(9)ice_pkg_val_buf(9)ice_find_buf_table(9)ice_pkg_enum_buf(9)ice_pkg_advance_sect(9)ice_pkg_enum_section(9)ice_pkg_enum_entry(9)ice_sw_fv_handler(9)ice_get_prof_index_max(9)ice_get_ddp_pkg_state(9)ice_init_pkg_regs(9)ice_marker_ptype_tcam_handler(9)ice_add_dvm_hint(9)ice_add_tunnel_hint(9)ice_label_enum_handler(9)ice_enum_labels(9)ice_boost_tcam_handler(9)ice_find_boost_entry(9)ice_is_init_pkg_successful(9)ice_pkg_buf_alloc(9)ice_get_sw_prof_type(9)ice_get_sw_fv_bitmap(9)ice_get_sw_fv_list(9)ice_init_prof_result_bm(9)ice_pkg_buf_free(9)ice_pkg_buf_reserve_section(9)ice_pkg_buf_alloc_section(9)ice_pkg_buf_alloc_single_section(9)ice_pkg_buf_get_active_sections(9)ice_pkg_buf(9)ice_acquire_global_cfg_lock(9)ice_release_global_cfg_lock(9)ice_aq_download_pkg(9)ice_is_buffer_metadata(9)struct ice_ddp_send_ctx(9)ice_ddp_send_hunk(9)ice_dwnld_cfg_bufs_no_lock(9)ice_get_pkg_seg_by_idx(9)ice_is_signing_seg_at_idx(9)ice_is_signing_seg_type_at_idx(9)ice_download_pkg_sig_seg(9)ice_download_pkg_config_seg(9)ice_dwnld_sign_and_cfg_segs(9)ice_match_signing_seg(9)ice_post_dwnld_pkg_actions(9)ice_download_pkg_with_sig_seg(9)ice_dwnld_cfg_bufs(9)ice_download_pkg_without_sig_seg(9)ice_download_pkg(9)ice_aq_get_pkg_info_list(9)ice_aq_update_pkg(9)ice_aq_upload_section(9)ice_update_pkg_no_lock(9)ice_update_pkg(9)ice_find_seg_in_pkg(9)ice_has_signing_seg(9)ice_get_pkg_segment_id(9)ice_get_pkg_sign_type(9)ice_get_signing_req(9)ice_init_pkg_info(9)ice_get_pkg_info(9)ice_chk_pkg_compat(9)ice_init_pkg_hints(9)ice_fill_hw_ptype(9)ice_init_pkg(9)ice_copy_and_init_pkg(9)ice_get_set_tx_topo(9)
like, that's a lot of friends but every single one of them is invited to the function-call party π not me listing all of them β okay yes, me, listing all of them, because they all matter π
π sign-off π
and that's the page!! coming at you from ./drivers/net/ethernet/intel/ice, dated October 2026 β go forth and configure your Tx topology, bestie, you got this πβ¨ππ¦πΈ
π¦ 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