ice_setup_channel(9)
π ice_setup_channel β Kernel API Manual core π
okay so bestie, we're in the Kernel API Manual today, section 9, and the star of the show is literally ice_setup_channel(9). Pull up a chair, grab a strawberry π, and let's get into it.
β¨ NAME β¨
ice_setup_channel β setup a new channel using the uplink element. that's it, that's the whole vibe. she sets up. she's a channel. slay π
πΈ SYNOPSIS πΈ
bool ice_setup_channel (struct ice_pf *pf , struct ice_vsi *vsi ,
struct ice_channel *ch );
note the return type bestie: bool. she comes back with a yes or a no. no in-between, no "it depends", no "read the tea leaves". iconic.
π ARGUMENTS π
pfβ ptr to the PF device π«Ά (that's your physical function, the main character of this whole story)vsiβ the VSI being setup π (yes, this one, the one we're actively configuring, not some other random VSI)chβ ptr to the channel structure π¦ (a pointer to the channel struct, exactly what it says on the tin)
three pointers walk into a function. no cap, that's the whole argument list.
π₯ DESCRIPTION π₯
Setup a new channel (VSI) based on the specified type (VMDq2/VF) and the uplink switching element. β¨
that's the tea. you hand her the PF, the VSI, and the channel struct, and she goes and stands up a fresh channel β a whole new VSI β and which flavor of VSI she builds depends on the type (VMDq2 or VF, iykyk) plus that uplink switching element.
it's giving "plumbing but make it couture". not me being obsessed with a setup function π but here we are.
heads up: the original page doesn't spell out what makes her returnfalseβ so don't come for me, I'm not out here inventing error conditions fr fr. the return type isbool, that's the fact we have. π
π SEE ALSO π
first, the kernel file she lives in β go read the source, bestie, it's right there:
Kernel file ./drivers/net/ethernet/intel/ice/ice_main.c
and thenβ¦ the entire ice driver showed up to the group chat. literally everyone. the way this list ate and left no crumbs π β here's the full squad, in order, nobody gets left behind:
ice_hw_to_dev(9), ice_get_tx_pending(9), ice_check_for_hang_subtask(9),
ice_init_mac_fltr(9), ice_add_mac_to_sync_list(9),
ice_add_mac_to_unsync_list(9), ice_vsi_fltr_changed(9), ice_set_promisc(9),
ice_clear_promisc(9), ice_vsi_sync_fltr(9), ice_sync_fltr_subtask(9),
ice_pf_dis_all_vsi(9), ice_prepare_for_reset(9), ice_do_reset(9),
ice_reset_subtask(9), ice_print_topo_conflict(9), ice_print_link_msg(9),
ice_vsi_link_event(9), ice_set_dflt_mib(9), ice_check_phy_fw_load(9),
ice_check_module_power(9), ice_check_link_cfg_err(9), ice_link_event(9),
ice_watchdog_subtask(9), ice_init_link_events(9), ice_handle_link_event(9),
ice_aq_prep_for_event(9), ice_aq_wait_for_event(9), ice_aq_check_events(9),
ice_aq_cancel_waiting_tasks(9), __ice_clean_ctrlq(9), ice_ctrlq_pending(9),
ice_clean_adminq_subtask(9), ice_clean_mailboxq_subtask(9),
ice_clean_sbq_subtask(9), ice_service_task_schedule(9),
ice_service_task_complete(9), ice_service_task_stop(9),
ice_service_task_restart(9), ice_service_timer(9),
ice_mdd_maybe_reset_vf(9), ice_handle_mdd_event(9),
ice_init_nvm_phy_type(9), ice_init_link_dflt_override(9),
ice_init_phy_cfg_dflt_override(9), ice_init_phy_user_cfg(9), ice_phy_cfg(9),
ice_check_media_subtask(9), ice_service_task(9), ice_set_ctrlq_len(9),
ice_schedule_reset(9), ice_vsi_ena_irq(9), ice_vsi_req_irq_msix(9),
ice_xdp_alloc_setup_rings(9), ice_vsi_assign_bpf_prog(9),
ice_map_xdp_rings(9), ice_unmap_xdp_rings(9), ice_prepare_xdp_rings(9),
ice_destroy_xdp_rings(9), ice_vsi_rx_napi_schedule(9),
ice_vsi_determine_xdp_res(9), ice_max_xdp_frame_size(9),
ice_xdp_setup_prog(9), ice_xdp_safe_mode(9), ice_xdp(9),
ice_ena_misc_vector(9), ice_ll_ts_intr(9), ice_misc_intr(9),
ice_misc_intr_thread_fn(9), ice_dis_ctrlq_interrupts(9),
ice_free_irq_msix_ll_ts(9), ice_free_irq_msix_misc(9),
ice_ena_ctrlq_interrupts(9), ice_req_irq_msix_misc(9), ice_set_ops(9),
ice_set_netdev_features(9), ice_fill_rss_lut(9), ice_pf_vsi_setup(9),
ice_ctrl_vsi_setup(9), ice_lb_vsi_setup(9), ice_vlan_rx_add_vid(9),
ice_vlan_rx_kill_vid(9), ice_rep_indr_tc_block_unbind(9),
ice_tc_indir_block_unregister(9), ice_tc_indir_block_register(9),
ice_get_avail_q_count(9), ice_get_avail_txq_count(9),
ice_get_avail_rxq_count(9), ice_deinit_pf(9), ice_set_pf_caps(9),
ice_init_pf(9), ice_is_wol_supported(9), ice_vsi_recfg_qs(9),
ice_set_safe_mode_vlan_cfg(9), ice_log_pkg_init(9), ice_load_pkg(9),
ice_verify_cacheline_size(9), ice_send_version(9), ice_init_fdir(9),
ice_get_opt_fw_name(9), ice_request_fw(9), ice_init_tx_topology(9),
ice_init_supported_rxdids(9), ice_init_ddp_config(9),
ice_print_wake_reason(9), ice_register_netdev(9), ice_cfg_netdev(9),
ice_load(9), ice_unload(9), ice_probe(9), ice_set_wake(9),
ice_setup_mc_magic_wake(9), ice_remove(9), ice_shutdown(9),
ice_prepare_for_shutdown(9), ice_reinit_interrupt_scheme(9),
ice_suspend(9), ice_resume(9), ice_pci_err_detected(9),
ice_pci_err_slot_reset(9), ice_pci_err_resume(9),
ice_pci_err_reset_prepare(9), ice_pci_err_reset_done(9),
ice_module_init(9), ice_module_exit(9), ice_set_mac_address(9),
ice_set_rx_mode(9), ice_set_tx_maxrate(9), ice_fdb_add(9),
ice_fdb_del(9), ice_fix_features(9), ice_set_rx_rings_vlan_proto(9),
ice_set_vlan_offload_features(9), ice_set_vlan_filtering_features(9),
ice_set_vlan_features(9), ice_set_loopback(9), ice_set_features(9),
ice_vsi_vlan_setup(9), ice_vsi_cfg_lan(9), ice_init_moderation(9),
ice_napi_enable_all(9), ice_up_complete(9), ice_up(9),
ice_fetch_u64_tx_stats(9), ice_fetch_u64_rx_stats(9),
ice_update_vsi_tx_ring_stats(9), ice_update_vsi_rx_ring_stats(9),
ice_update_vsi_ring_stats(9), ice_update_vsi_stats(9),
ice_update_pf_stats(9), ice_get_stats64(9), ice_napi_disable_all(9),
ice_vsi_dis_irq(9), ice_down(9), ice_down_up(9),
ice_vsi_setup_tx_rings(9), ice_vsi_setup_rx_rings(9),
ice_vsi_open_ctrl(9), ice_vsi_open(9), ice_vsi_release_all(9),
ice_vsi_rebuild_by_type(9), ice_update_pf_netdev_link(9),
ice_rebuild(9), ice_change_mtu(9), ice_set_rss_lut(9),
ice_set_rss_key(9), ice_get_rss_lut(9), ice_get_rss_key(9),
ice_get_rss(9), ice_set_rss_hfunc(9), ice_bridge_getlink(9),
ice_vsi_update_bridge_mode(9), ice_bridge_setlink(9), ice_tx_timeout(9),
ice_setup_tc_cls_flower(9), ice_setup_tc_block_cb_ingress(9),
ice_setup_tc_block_cb_egress(9), ice_validate_mqprio_qopt(9),
ice_add_vsi_to_fdir(9), ice_add_channel(9), ice_chnl_cfg_res(9),
ice_cfg_chnl_all_res(9), ice_setup_hw_channel(9), ice_set_bw_limit(9),
ice_create_q_channel(9), ice_rem_all_chnl_fltrs(9),
ice_remove_q_channels(9), ice_rebuild_channels(9),
ice_create_q_channels(9), ice_setup_tc_mqprio_qdisc(9),
ice_cfg_txtime(9), ice_offload_txtime(9), ice_open(9),
ice_open_internal(9), ice_stop(9), ice_features_check(9)
like, that's a lot of friends. main character energy for the whole driver honestly. π
and that's the page, bestie β literally nothing else to say. π§
source: ./drivers/net/ethernet/intel/ice Β· datestamped October 2026 β β mwah, ily, go set up a channel responsibly, and remember: bool or it didn't happen π«Άπ
π¦ 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