idpf_add_del_fsteer_filters(9)
π idpf_add_del_fsteer_filters β Kernel API Manual, bestie edition π
okay so this is a page from the Kernel API Manual and the star of the show is idpf_add_del_fsteer_filters β literally the function that yeets a virtchnl add/del flow steering message out into the world and waits for the vibes to come back. let's get into it β¨
β¨ NAME β¨
idpf_add_del_fsteer_filters β Send virtchnl add/del Flow Steering message π¦
like, that's it, that's the whole job. she sends the message, periodt.
πΈ SYNOPSIS πΈ
int idpf_add_del_fsteer_filters (struct idpf_adapter *adapter , struct
virtchnl2_flow_rule_add_del *rule , enum virtchnl2_op opcode );
three args, one int coming back at you. no cap, that's the whole signature π
π ARGUMENTS π
adapterβ the adapter info struct, aka where all the adapter lore lives πruleβ the Flow steering rule you're adding or deleting. the actual main character of the operation nglopcodeβ the vibe check of the whole call: you passVIRTCHNL2_OP_ADD_FLOW_RULEto add a filter, orVIRTCHNL2_OP_DEL_FLOW_RULEto delete one. any other value is invalid β like, do not. it's giving "read the docs first" π
π DESCRIPTION π
So what does she actually do? She sends the ADD/DELETE flow steering virtchnl message and receives the result. that's the whole plot. message goes out, answer comes back, we move on with our lives β¨
π₯ RETURN π₯
0on success β slay, we ate π- negative on failure β π not the negative return value
π¦ SEE ALSO π¦
first up, the kernel file herself:
./drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
and then the whole extended friend group (yes, all of them, i'm not skipping a single one, bestie):
idpf_vid_to_vport(9), idpf_handle_event_link(9), idpf_recv_event_msg(9), idpf_mb_clean(9), idpf_ptp_is_mb_msg(9), idpf_prepare_ptp_mb_msg(9), idpf_send_mb_msg(9), idpf_send_mb_msg_kfree(9), idpf_send_vf_reset_msg(9), idpf_send_chunked_msg(9), idpf_wait_for_marker_event_set(9), idpf_wait_for_marker_event(9), idpf_send_ver_msg(9), idpf_send_get_caps_msg(9), idpf_mmio_region_non_static(9), idpf_decfg_lan_memory_regions(9), idpf_cfg_lan_memory_regions(9), idpf_map_remaining_mmio_regs(9), idpf_vport_alloc_max_qs(9), idpf_vport_dealloc_max_qs(9), idpf_init_avail_queues(9), idpf_vport_init_queue_reg_chunks(9), idpf_get_reg_intr_vecs(9), idpf_vport_get_q_reg(9), __idpf_queue_reg_init(9), idpf_queue_reg_init(9), idpf_send_create_vport_msg(9), idpf_check_supported_desc_ids(9), idpf_send_destroy_vport_msg(9), idpf_send_enable_vport_msg(9), idpf_send_disable_vport_msg(9), idpf_fill_txq_config_chunk(9), idpf_fill_complq_config_chunk(9), idpf_prepare_cfg_txqs_msg(9), idpf_send_config_tx_queue_set_msg(9), idpf_send_config_tx_queues_msg(9), idpf_fill_rxq_config_chunk(9), idpf_fill_bufq_config_chunk(9), idpf_prepare_cfg_rxqs_msg(9), idpf_send_config_rx_queue_set_msg(9), idpf_send_config_rx_queues_msg(9), idpf_prepare_ena_dis_qs_msg(9), idpf_send_ena_dis_queue_set_msg(9), idpf_send_ena_dis_queues_msg(9), idpf_prep_map_unmap_queue_set_vector_msg(9), idpf_send_map_unmap_queue_set_vector_msg(9), idpf_send_map_unmap_queue_vector_msg(9), idpf_send_enable_queue_set_msg(9), idpf_send_disable_queue_set_msg(9), idpf_send_config_queue_set_msg(9), idpf_send_enable_queues_msg(9), idpf_send_disable_queues_msg(9), idpf_convert_reg_to_queue_chunks(9), idpf_send_delete_queues_msg(9), idpf_send_config_queues_msg(9), idpf_send_add_queues_msg(9), idpf_send_alloc_vectors_msg(9), idpf_send_dealloc_vectors_msg(9), idpf_get_max_vfs(9), idpf_send_set_sriov_vfs_msg(9), idpf_send_get_stats_msg(9), idpf_send_set_rss_lut_msg(9), idpf_send_set_rss_key_msg(9), idpf_fill_ptype_lookup(9), idpf_parse_protocol_ids(9), idpf_send_get_rx_ptype_msg(9), idpf_rel_rx_pt_lkup(9), idpf_send_ena_dis_loopback_msg(9), idpf_init_dflt_mbx(9), idpf_deinit_dflt_mbx(9), idpf_vport_params_buf_rel(9), idpf_vport_params_buf_alloc(9), idpf_vc_core_init(9), idpf_vc_core_deinit(9), idpf_vport_alloc_vec_indexes(9), idpf_vport_init(9), idpf_get_vec_ids(9), idpf_vport_get_queue_ids(9), __idpf_vport_queue_ids_init(9), idpf_vport_queue_ids_init(9), idpf_vport_adjust_qs(9), idpf_is_capability_ena(9), idpf_vport_is_cap_ena(9), idpf_sideband_flow_type_ena(9), idpf_sideband_action_ena(9), idpf_get_vport_id(9), idpf_mac_filter_async_handler(9), idpf_add_del_mac_filters(9), idpf_promiscuous_async_handler(9), idpf_set_promiscuous(9), idpf_idc_rdma_vc_send_sync(9)
that's the whole page, bestie, go forth and steer those flows ππ
and for the cute sign-off: this one lives in ./drivers/net/ethernet/intel/idpf, it's dated October 2026, and she answers to the name idpf_add_del_fsteer_filters(9). mwah πβ¨
π¦ 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