iavf_send_vf_ptp_caps_msg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 🌈

  • 0 if 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