STRUCT VIRTCHNL2_VERSION_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so welcome to the Kernel API Manual, bestie β€” this is the little version-info struct and it’s honestly giving β€œhello, are we compatible?” energy. πŸ¦‹


🌸 NAME 🌸

struct virtchnl2_version_info β€” Version information. That’s the whole flex. πŸ’…

✨ SYNOPSIS ✨

       struct virtchnl2_version_info {
           __le32 major;
           __le32 minor;
        };

πŸŽ€ Members πŸŽ€

  • major β€” Major version. πŸ‘‘
  • minor β€” Minor version. ✨

πŸ¦‹ Description πŸ¦‹

Okay so the lore: PF/VF posts its version number to the CP. The CP responds with its version number in the same format, along with a return code. It’s literally a little version handshake, no cap. 🫱🀝🫲

🚨 Major version mismatch? The PF/VF cannot operate. Periodt. That’s a hard no.

Minor version mismatch? The PF/VF can operate but should add a warning to the system log. So it works, but it’s side-eyeing the mismatch and telling on it. 😭

This version opcode MUST always be specified as == 1, regardless of other changes in the API. The CP must always respond to this message without error regardless of version mismatch. Iconic consistency, honestly. πŸ’…

Associated with VIRTCHNL2_OP_VERSION. 🌈

πŸ‘‘ SEE ALSO πŸ‘‘

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

  • 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_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_ptype(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)

xoxo, your Unix bestie πŸ’… β€” source/version line: ./include/linux/net/intel, date: October 2026. 🫢

πŸ“¦ where this page comes from