iavf_send_vf_ptp_caps_msg(9)
π
iavf_send_vf_ptp_caps_msg β like, the NAME section but make it cute
okay so this is a page from the Kernel API Manual about iavf_send_vf_ptp_caps_msg, and its whole personality is "send request for PTP capabilities". That's it, that's the function. Bestie it literally just asks the PF "hey what PTP stuff can I do" and I'm obsessed π
β¨ SYNOPSIS β¨
int iavf_send_vf_ptp_caps_msg (struct iavf_adapter *adapter );
that's the whole signature, no cap π
π«Ά ARGUMENTS π«Ά
adapterβ the private adapter structure, aka the little main-character struct that holds all the context. she knows things.
π DESCRIPTION π
So what this function does is send the VIRTCHNL_OP_1588_PTP_GET_CAPS command over to the PF (that's the Physical Function, the big sibling) and it's requesting the PTP capabilities that are actually available to this device. like a vibe check for hardware clock features β
And the potential access it's asking about includes:
READ_PHCβ access to read the PTP hardware clock time. just reading, she's a reader πRX_TSTAMPβ access to request Rx timestamps on all received packets. all of them. every single one π¦
Then the PF replies using the same opcode, and it sends back a filled-out copy of the virtchnl_ptp_caps structure. That struct defines the specifics of which features are actually accessible to this device β like the receipts for what you're allowed to touch π₯
π RETURN π
0if success β¨- an error code otherwise π
πΈ SEE ALSO πΈ
first up, the source file herself: Kernel file ./drivers/net/ethernet/intel/iavf/iavf_virtchnl.c π
and then the whole extended friend group, no one left out:
iavf_send_pf_msg(9), iavf_send_api_ver(9), iavf_poll_virtchnl_msg(9), iavf_verify_api_ver(9), iavf_send_vf_config_msg(9), iavf_validate_num_queues(9), iavf_get_vf_config(9), iavf_configure_queues(9), iavf_enable_queues(9), iavf_disable_queues(9), iavf_map_queues(9), iavf_set_mac_addr_type(9), iavf_add_ether_addrs(9), iavf_del_ether_addrs(9), iavf_mac_add_ok(9), iavf_mac_add_reject(9), iavf_vlan_add_reject(9), iavf_add_vlans(9), iavf_del_vlans(9), iavf_set_promiscuous(9), iavf_request_stats(9), iavf_get_rss_hashcfg(9), iavf_set_rss_hashcfg(9), iavf_set_rss_key(9), iavf_set_rss_lut(9), iavf_set_rss_hfunc(9), iavf_enable_vlan_stripping(9), iavf_disable_vlan_stripping(9), iavf_tpid_to_vc_ethertype(9), iavf_set_vc_offload_ethertype(9), iavf_clear_offload_v2_aq_required(9), iavf_send_vlan_offload_v2(9), iavf_enable_vlan_stripping_v2(9), iavf_disable_vlan_stripping_v2(9), iavf_enable_vlan_insertion_v2(9), iavf_disable_vlan_insertion_v2(9), iavf_virtchnl_send_ptp_cmd(9), iavf_print_link_message(9), iavf_get_vpe_link_status(9), iavf_set_adapter_link_speed_from_vpe(9), iavf_get_qos_caps(9), iavf_set_quanta_size(9), iavf_cfg_queues_quanta_size(9), iavf_cfg_queues_bw(9), iavf_enable_channels(9), iavf_disable_channels(9), iavf_print_cloud_filter(9), iavf_add_cloud_filter(9), iavf_del_cloud_filter(9), iavf_add_fdir_filter(9), iavf_del_fdir_filter(9), iavf_add_adv_rss_cfg(9), iavf_del_adv_rss_cfg(9), iavf_request_reset(9), iavf_netdev_features_vlan_strip_set(9), iavf_activate_fdir_filters(9), iavf_virtchnl_ptp_get_time(9), iavf_virtchnl_completion(9), iavf_poll_virtchnl_response(9)
like I said. the whole group chat π«Ά
okay that's the page!! and for the sign-off credits moment: this one lives in ./drivers/net/ethernet/intel/iavf, dated October 2026, and it's page iavf_send_vf_ptp_caps_msg(9) of the Kernel API Manual. go read your PTP caps, bestie, ily πβ¨
π¦ 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