STRUCT VIRTCHNL2_PTYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct virtchnl2_ptype(9) πŸ’–

okay bestie, welcome to the Kernel API Manual page for struct virtchnl2_ptype(9) β€” it’s giving packet type info, and we’re gonna read it together like the main characters we are. πŸ’…

✨ NAME ✨

struct virtchnl2_ptype β€” Packet type info. periodt.

πŸ¦‹ SYNOPSIS πŸ¦‹

       struct virtchnl2_ptype {
           __le16 ptype_id_10;
           u8 ptype_id_8;
           u8 proto_id_count;
           __le16 pad;
           __le16 proto_id[];
        };

🧩 Members 🧩

  • ptype_id_10 β€” the 10-bit packet type, okay? that’s literally what it is.
  • ptype_id_8 β€” the 8-bit packet type. slay.
  • proto_id_count β€” number of protocol ids the packet supports; maximum of 32 protocol ids are supported. no cap.
  • pad β€” padding. literally just padding, bestie.
  • proto_id β€” proto_id_count decides the allocation of protocol id array. see enum virtchnl2_proto_hdr_type. iykyk.

🌸 Description 🌸

okay so based on the descriptor type the PF supports, CP fills ptype_id_10 or ptype_id_8 for flex and base descriptor respectively. that’s the whole vibe.

and if ptype_id_10 value is set to 0xFFFF, PF should consider this ptype as a dummy one and it is the last ptype. so like, that’s the end of the ptype list, bestie. πŸ’€

πŸ”— SEE ALSO πŸ”—

Kernel file ./include/linux/net/intel/virtchnl2.h β€” and then the whole squad:

  • enum virtchnl2_vport_type(9)
  • enum virtchnl2_queue_model(9)
  • enum virtchnl2_action_types(9)
  • enum virtchnl2_txq_sched_mode(9)
  • enum virtchnl2_rxq_flags(9)
  • enum virtchnl2_mac_addr_type(9)
  • struct virtchnl2_edt_caps(9)
  • struct virtchnl2_version_info(9)
  • struct virtchnl2_get_capabilities(9)
  • struct virtchnl2_queue_reg_chunk(9)
  • struct virtchnl2_queue_reg_chunks(9)
  • enum virtchnl2_vport_flags(9)
  • struct virtchnl2_create_vport(9)
  • struct virtchnl2_vport(9)
  • struct virtchnl2_txq_info(9)
  • struct virtchnl2_config_tx_queues(9)
  • struct virtchnl2_rxq_info(9)
  • struct virtchnl2_config_rx_queues(9)
  • struct virtchnl2_add_queues(9)
  • struct virtchnl2_vector_chunk(9)
  • struct virtchnl2_vector_chunks(9)
  • struct virtchnl2_alloc_vectors(9)
  • struct virtchnl2_rss_lut(9)
  • struct virtchnl2_rss_hash(9)
  • struct virtchnl2_sriov_vfs_info(9)
  • struct virtchnl2_get_ptype_info(9)
  • struct virtchnl2_vport_stats(9)
  • struct virtchnl2_event(9)
  • struct virtchnl2_rss_key(9)
  • struct virtchnl2_queue_chunk(9)
  • struct virtchnl2_del_ena_dis_queues(9)
  • struct virtchnl2_queue_vector(9)
  • struct virtchnl2_queue_vector_maps(9)
  • struct virtchnl2_loopback(9)
  • struct virtchnl2_mac_addr_list(9)
  • struct virtchnl2_promisc_info(9)
  • enum virtchnl2_ptp_caps(9)
  • struct virtchnl2_ptp_clk_reg_offsets(9)
  • struct virtchnl2_ptp_cross_time_reg_offsets(9)
  • struct virtchnl2_ptp_clk_adj_reg_offsets(9)
  • struct virtchnl2_ptp_tx_tstamp_latch_caps(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_caps(9)
  • struct virtchnl2_ptp_get_caps(9)
  • struct virtchnl2_ptp_tx_tstamp_latch(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_latches(9)
  • struct virtchnl2_ptp_get_dev_clk_time(9)
  • struct virtchnl2_ptp_get_cross_time(9)
  • struct virtchnl2_ptp_set_dev_clk_time(9)
  • struct virtchnl2_ptp_adj_dev_clk_fine(9)
  • struct virtchnl2_ptp_adj_dev_clk_time(9)
  • struct virtchnl2_mem_region(9)
  • struct virtchnl2_get_lan_memory_regions(9)
  • struct virtchnl2_proto_hdr(9)
  • struct virtchnl2_proto_hdrs(9)
  • struct virtchnl2_rule_action(9)
  • struct virtchnl2_rule_action_set(9)
  • struct virtchnl2_flow_rule(9)
  • struct virtchnl2_flow_rule_info(9)
  • struct virtchnl2_flow_rule_add_del(9)

mwah πŸ’‹ β€” signed off from source/version ./include/linux/net/intel, dated October 2026, for struct virtchnl2_ptype(9). go be iconic, bestie. 🫢✨

πŸ“¦ where this page comes from