idpf_add_del_fsteer_filters(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 ngl
  • opcode β€” the vibe check of the whole call: you pass VIRTCHNL2_OP_ADD_FLOW_RULE to add a filter, or VIRTCHNL2_OP_DEL_FLOW_RULE to 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 πŸ”₯

  • 0 on 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