STRUCT VIRTCHNL2_PTP_GET_VPORT_TX_TSTAMP_LATCHES(9)
π 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 'emget_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 ifget_devtime_with_txtstmpwas set in the request π no flag, no time, that's the dealtstamp_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
- 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