STRUCT IDPF_VPORT(9)
π¦ struct idpf_vport(9) β the Kernel API Manual moment π
okay so this is a page from the Kernel API Manual, and honestly? it's giving main character energy for a struct. buckle up bestie, we're meeting struct idpf_vport π
β¨ NAME β¨
struct idpf_vport β the handle for netdevices and queue resources. that's it, that's the vibe. it's the little container that holds all the stuff your vport needs π«Ά
πΈ SYNOPSIS πΈ
struct idpf_vport {
struct idpf_q_vec_rsrc dflt_qv_rsrc;
struct idpf_tx_queue **txqs;
u16 num_txq;
u16 num_xdp_txq;
bool xdpsq_share;
struct bpf_prog *xdp_prog;
struct iidc_rdma_vport_dev_info *vdev_info;
struct idpf_adapter *adapter;
struct net_device *netdev;
unsigned long flags[BITS_TO_LONGS( IDPF_VPORT_FLAGS_NBITS)];
u32 compln_clean_budget;
u32 vport_id;
u16 vport_type;
u16 idx;
u16 max_mtu;
u8 default_mac_addr[ETH_ALEN];
u16 rx_itr_profile[IDPF_DIM_PROFILE_SLOTS];
u16 tx_itr_profile[IDPF_DIM_PROFILE_SLOTS];
struct idpf_port_stats port_stats;
bool default_vport;
bool crc_enable;
bool link_up;
struct idpf_ptp_vport_tx_tstamp_caps *tx_tstamp_caps;
struct kernel_hwtstamp_config tstamp_config;
struct work_struct tstamp_task;
struct idpf_tstamp_stats tstamp_stats;
};
like, look at that. every field is literally a little icon in the group chat π
π Members π
dflt_qv_rsrcβ holds the default queue and vector resources. the starter pack, if you will β¨txqsβ used only in hotpath to get to the right queue super duper fast β‘ no cap, speed matters here.num_txqβ the number of allocated TX queues.num_xdp_txqβ how many XDPSQs there are.xdpsq_shareβ tells you whether XDPSQ sharing is enabled. yes/no situation π₯xdp_progβ the installed XDP program.vdev_infoβ the IDC vport device info pointer.adapterβ a back pointer to the associated adapter. it knows where it came from π§netdevβ the associatednet_device. important lore: each vport should have one and only one associated netdev. periodt πflagsβ seeenum idpf_vport_flags.compln_clean_budgetβ the work budget for completion clean. budget queen πvport_idβ the device-given vport identifier.vport_typeβ default SRIOV, SIOV, etc. pick your fighter πidxβ the software index in the adapter vports struct.max_mtuβ the device-given max possible MTU. like, the ceiling, fr fr.default_mac_addrβ the device will give a default MAC to use. cute little hand-me-down address πrx_itr_profileβ RX profiles for Dynamic Interrupt Moderation.tx_itr_profileβ TX profiles for Dynamic Interrupt Moderation. twins!! π―port_statsβ per port csum, header split, and other offload stats. the receipts πdefault_vportβ use this vport if one isn't specified. the fallback bestie π«Άcrc_enableβ enable CRC insertion offload.link_upβ true if link is up. and if it's not... well πtx_tstamp_capsβ the capabilities negotiated for Tx timestamping.tstamp_configβ the Tx tstamp config.tstamp_taskβ the Tx timestamping task.tstamp_statsβ Tx timestamping statistics. numbers go brrr β
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/intel/idpf/idpf.hstruct 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)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_vport_config(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 a whole friend group right there ππ go read them too, iykyk.
and that's the page!! this little gem comes from <pink>./drivers/net/ethernet/intel/idpf</pink> and it's dated October 2026 β so yeah, mark your calendar bestie, slay π
β¨π¦πΈ
π¦ 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