NDIS_TIMESTAMP_CAPABILITY_FLAGS structure (ntddndis.h)
The NDIS_TIMESTAMP_CAPABILITY_FLAGS structure represents the combined timestamping capabilities of a network interface card (NIC) and miniport driver in various contexts.
Syntax
typedef struct _NDIS_TIMESTAMP_CAPABILITY_FLAGS {
BOOLEAN PtpV2OverUdpIPv4EventMsgReceiveHw;
BOOLEAN PtpV2OverUdpIPv4AllMsgReceiveHw;
BOOLEAN PtpV2OverUdpIPv4EventMsgTransmitHw;
BOOLEAN PtpV2OverUdpIPv4AllMsgTransmitHw;
BOOLEAN PtpV2OverUdpIPv6EventMsgReceiveHw;
BOOLEAN PtpV2OverUdpIPv6AllMsgReceiveHw;
BOOLEAN PtpV2OverUdpIPv6EventMsgTransmitHw;
BOOLEAN PtpV2OverUdpIPv6AllMsgTransmitHw;
BOOLEAN AllReceiveHw;
BOOLEAN AllTransmitHw;
BOOLEAN TaggedTransmitHw;
BOOLEAN AllReceiveSw;
BOOLEAN AllTransmitSw;
BOOLEAN TaggedTransmitSw;
} NDIS_TIMESTAMP_CAPABILITY_FLAGS, *PNDIS_TIMESTAMP_CAPABILITY_FLAGS;
Members
PtpV2OverUdpIPv4EventMsgReceiveHw
A value of TRUE indicates that during packet reception the NIC can recognize in hardware a PTP version 2 event message contained in an IPv4 UDP packet and generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv4AllMsgReceiveHw
A value of TRUE indicates that during packet reception the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv4 UDP packet and generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv4EventMsgTransmitHw
A value of TRUE indicates that during packet transmission the NIC can recognize in hardware a PTP version 2 event message contained in an IPv4 UDP packet and generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv4AllMsgTransmitHw
A value of TRUE indicates that during packet transmission the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv4 UDP packet and generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv6EventMsgReceiveHw
A value of TRUE indicates that during packet reception the NIC can recognize in hardware a PTP version 2 event message contained in an IPv6 UDP packet and generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv6AllMsgReceiveHw
A value of TRUE indicates that during packet reception the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv6 UDP packet and generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv6EventMsgTransmitHw
A value of TRUE indicates that during packet transmission the NIC can recognize in hardware a PTP version 2 event message contained in an IPv6 UDP packet and generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates the hardware is not capable of this.
PtpV2OverUdpIPv6AllMsgTransmitHw
A value of TRUE indicates that during packet transmission the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv6 UDP packet and generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates the hardware is not capable of this
AllReceiveHw
A value of TRUE indicates that the NIC can generate a hardware timestamp for all received packets (for example, not just PTP). A value of FALSE indicates the NIC doesn't have this capability.
AllTransmitHw
A value of TRUE indicates that the NIC can generate a hardware timestamp for all transmitted packets (for example, not just PTP). A value of FALSE indicates the NIC doesn't have this capability.
TaggedTransmitHw
A value of TRUE indicates that the NIC can generate a hardware timestamp for any specific transmitted packet when indicated to do so by the operating system. The operating system will indicate this to the miniport/hardware using a metadata field in the packet. For more details, see Attaching timestamps to packets. A value of FALSE indicates the NIC doesn't have this capability.
AllReceiveSw
A value of TRUE indicates that the miniport driver can generate a software timestamp for all received packets. The driver should generate the timestamp by calling the KeQueryPerformanceCounter API. A value of FALSE indicates the NIC doesn't have this capability.
AllTransmitSw
A value of TRUE indicates that the miniport driver can generate a software timestamp for all transmitted packets. The timestamp should be generated in software using KeQueryPerformanceCounter just before the packet is transmitted. A value of FALSE indicates the NIC doesn't have this capability.
TaggedTransmitSw
A value of TRUE indicates that the miniport driver can generate a software timestamp for any specific transmitted packet when indicated to do so by the operating system. The operating system will indicate this to the miniport using a metadata field in the packet. For more details, see Attaching timestamps to packets. The miniport driver should generate the timestamp using KeQueryPerformanceCounter just before the packet is transmitted. A value of FALSE indicates the NIC doesn't have this capability.
Remarks
The NDIS_TIMESTAMP_CAPABILITY_FLAGS structure is a field in the NDIS_TIMESTAMP_CAPABILITIES structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11 |
Minimum supported server | Windows Server 2022. Supported in NDIS 6.82 and later. |
Header | ntddndis.h (include ndis.h) |
See also
Reporting timestamping capabilities and current configuration