ENUM IDPF_CAP_FIELD(9)
π enum idpf_cap_field β kernel API manual, bestie edition π
okay so this page is all about enum idpf_cap_field from the Kernel API Manual, and honestly? it's giving "tiny enum, big responsibility" energy. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
enum idpf_cap_field β the offsets into the capabilities struct for specific caps. literally just index positions, but make it fashion π
π¦ SYNOPSIS π¦
enum idpf_cap_field {
IDPF_BASE_CAPS ,
IDPF_CSUM_CAPS ,
IDPF_SEG_CAPS ,
IDPF_RSS_CAPS ,
IDPF_HSPLIT_CAPS ,
IDPF_RSC_CAPS ,
IDPF_OTHER_CAPS
};
look at her. seven constants. no notes. π
πΈ Constants πΈ
one bullet per cap, no cap π§’ β here's what each one means:
IDPF_BASE_CAPSβ the generic base capabilities. the main character of cap sets, tbh.IDPF_CSUM_CAPSβ checksum offload capabilities. she's doing math so you don't have to β¨IDPF_SEG_CAPSβ segmentation offload capabilities. chopping packets into lil pieces, iconic behavior.IDPF_RSS_CAPSβ RSS offload capabilities. spreading the love (and the queues) around πIDPF_HSPLIT_CAPSβ Header split capabilities. note the capital H, that's just how the manpage wrote it, we respect it π«ΆIDPF_RSC_CAPSβ RSC offload capabilities. receiving in bulk, lowkey efficient.IDPF_OTHER_CAPSβ miscellaneous offloads. the catch-all. the "and friends" of the group chat π
π Description π
so here's the vibe check: you use this enum when you're checking for a specific capability flag. and the reason you gotta is genuinely important β different capability sets are not mutually exclusive numerically, so the numbers can overlap and collide and generally be messy π. that means the caller must specify which type of capability they're checking for. no guessing, no vibes-based indexing. you say which set, periodt. π₯
π SEE ALSO π
the whole friend group, in source order β Kernel file ./drivers/net/ethernet/intel/idpf/idpf.h plus:
struct idpf_mac_filter(9)enum idpf_state(9)enum idpf_flags(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_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)
lowkey a whole ecosystem in here. go read the neighbors, bestie, iykyk π
and that's the page!! π«Ά source is ./drivers/net/ethernet/intel/idpf and the version is dated October 2026 β so yeah, she's from the future, we stan a time traveler. bye bestie, slay your capability checks, and remember: always name your cap set β¨ππ
π¦ 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