STRUCT IDPF_VPORT_CONFIG(9)
π struct idpf_vport_config(9) β the Kernel API Manual moment
okay bestie, welcome to the Kernel API Manual entry for struct idpf_vport_config(9), and no cap this one is a whole vibe β it's the struct that holds all the configuration data for a vport π¦
β¨ NAME β¨
struct idpf_vport_config β literally just vport configuration data. that's the whole assignment, and it ate π
π SYNOPSIS π
struct idpf_vport_config {
struct idpf_vport_user_config_data user_config;
struct idpf_vport_max_q max_q;
struct idpf_queue_id_reg_info qid_reg_info;
spinlock_t mac_filter_list_lock;
spinlock_t flow_steer_list_lock;
unsigned long flags[BITS_TO_LONGS( IDPF_VPORT_CONFIG_FLAGS_NBITS)];
};
look at her. six fields, all iconic, all doing their little jobs πΈ
π§ Members π§
so here's the member-by-member vibe check, bestie β nothing skipped, promise π€
user_configβ head straight tostruct idpf_vport_user_config_datafor this one, it's giving "see the other page" energy, iykyk πmax_qβ the maximum possible queues. the ceiling. the limit. the "don't ask for more than this" πqid_reg_infoβ struct to store the queue ID and register info. very organized, very demure, very mindful β¨mac_filter_list_lockβ the lock whose entire personality is protecting the mac filters π«Άflow_steer_list_lockβ same but for the fsteer filters. twin energy, no cap π«flagsβ go look atenum idpf_vport_config_flagsπ (yes, it's in SEE ALSO, we'll get there bestie)
ngl bestie, these locks are spinlocks β treat them with the respect they deserve or the kernel will simply end you π
π SEE ALSO π
everything is interconnected, it's a whole friend group π β the kernel file is literally ./drivers/net/ethernet/intel/idpf/idpf.h, and then we've got:
struct idpf_mac_filter(9)enum idpf_state(9)enum idpf_flags(9)enum idpf_cap_field(9)enum idpf_vport_state(9)struct idpf_netdev_priv(9)struct idpf_reset_reg(9)struct idpf_vport_max_q(9)struct idpf_reg_ops(9)struct idpf_dev_ops(9)enum idpf_vport_reset_cause(9)enum idpf_vport_flags(9)struct idpf_tstamp_stats(9)struct idpf_q_vec_rsrc(9)struct idpf_vport(9)enum idpf_user_flags(9)struct idpf_rss_data(9)struct idpf_q_coalesce(9)struct idpf_vport_user_config_data(9)enum idpf_vport_config_flags(9)struct idpf_avail_queue_info(9)struct idpf_vector_info(9)struct idpf_vector_lifo(9)struct idpf_queue_id_reg_chunk(9)struct idpf_queue_id_reg_info(9)struct idpf_adapter(9)idpf_is_queue_model_split(9)idpf_is_rdma_cap_ena(9)idpf_get_reserved_vecs(9)idpf_get_reserved_rdma_vecs(9)idpf_get_default_vports(9)idpf_get_max_vports(9)idpf_get_max_tx_bufs(9)idpf_get_min_tx_pkt_len(9)idpf_is_reset_detected(9)idpf_is_reset_in_prog(9)idpf_netdev_to_vport(9)idpf_netdev_to_adapter(9)idpf_is_feature_ena(9)idpf_get_max_tx_hdr_size(9)idpf_vport_ctrl_lock(9)idpf_vport_ctrl_unlock(9)
like, that's the entire group chat and you're gonna want to read all of them, fr fr π
and that's the page, bestie!! source straight out of./drivers/net/ethernet/intel/idpf, dated October 2026, all for our main characterstruct idpf_vport_config(9)β she slayed, she's serving, she's a kernel struct ππ periodt β¨
π¦ 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