STRUCT VIRTCHNL2_PTP_GET_VPORT_TX_TSTAMP_LATCHES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct virtchnl2_ptp_get_vport_tx_tstamp_latches β€” Kernel API Manual energy ✨

okay so bestie, welcome to the struct virtchnl2_ptp_get_vport_tx_tstamp_latches(9) page πŸŽ€ this is from the Kernel API Manual and it's lowkey one of the most underrated little structs in the PTP universe, ngl.


🌸 NAME 🌸

struct virtchnl2_ptp_get_vport_tx_tstamp_latches β€” the Tx timestamp latches that are associated with the vport πŸ’… that's literally it, that's the whole vibe.


✨ SYNOPSIS ✨

struct virtchnl2_ptp_get_vport_tx_tstamp_latches {
    __le32 vport_id;
    __le16 num_latches;
    u8 get_devtime_with_txtstmp;
    u8 pad[1];
    __le64 device_time;
    struct virtchnl2_ptp_tx_tstamp_latch tstamp_latches[];
 };

look at her. iconic layout. flexible array member at the end, we love a struct that knows how to grow πŸ”₯


🧚 Members 🧚

  • vport_id β€” the number of the vport that's asking for the timestamp 🫢 (yes, the number, it's __le32, keep it little-endian bestie)
  • num_latches β€” how many latches we're talking about, count 'em
  • get_devtime_with_txtstmp β€” the flag you set when you want the device time bundled along with the Tx timestamp ⭐
  • pad β€” padding for future extensions, it's giving "reserved for the girlies of tomorrow" πŸ’œ
  • device_time β€” the device time, but only if get_devtime_with_txtstmp was set in the request πŸ‘€ no flag, no time, that's the deal
  • tstamp_latches β€” PTP TX timestamp latch, the whole reason we're here 🌈

πŸ’– Description πŸ’–

So here's the tea: the PF/VF sends this message to receive a specified number of timestamps entries πŸ• like, you tell it how many you want, and it hooks you up.

It's associated with VIRTCHNL2_OP_PTP_GET_VPORT_TX_TSTAMP β€” that's the op that makes it happen, iykyk ✨


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/net/intel/virtchnl2.h β€” and the whole extended fam is here too, go say hi:

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

πŸ’€ real talk: everything above is verbatim from the manpage, so don't come for me if you mistype a name β€” the names are the names, no cap.

🌷 that's the whole page bestie, mwah 🫢 sourced from ./include/linux/net/intel, dated October 2026, and yeah the header/footer both still say struct virtc...tamp_latches(9) because the manpage generator truncates it and honestly that's just her main character energy at this point πŸ’…βœ¨

πŸ“¦ where this page comes from