Standardisierte INF-Schlüsselwörter für NDIS-Paketzeitstempel

Eine INF-Datei kann die folgenden standardisierten INF-Schlüsselwörter definieren, um die Zeitstempelfunktionen zu aktivieren oder zu deaktivieren, die der Miniporttreiber und die NIC-Hardware unterstützt.

Miniport-Treiber können diese Schlüsselwörter verwenden, um die aktuelle Konfiguration der Zeitstempelfunktionen zu ermitteln. Beispielsweise kann der Treiber diese Schlüsselwortwerte während der Initialisierung lesen, um zu bestimmen, welche Zeitstempelfunktionen aktiviert sind und der Treiber daher verwenden kann.

*PtpHardwareTimestamp INF-Schlüsselwort

*SoftwareTimestamp INF-Schlüsselwort

Weitere Informationen zu standardisierten INF-Schlüsselwörtern finden Sie unter Standardisierte INF-Schlüsselwörter für Netzwerkgeräte.

*PtpHardwareTimestamp INF-Schlüsselwort

The *PtpHardwareTimestamp keyword is defined to enable or disable support for hardware timestamping for Precision Time Protocol (PTP) version 2 packets using UDP as the transport.

The default setting for the *PtpHardwareTimestamp keyword is disabled and the miniport driver should disable all types of hardware timestamping support in the NIC hardware by default.

Miniport drivers read the *PtpHardwareTimestamp keyword value to determine if hardware timestamping is currently enabled or disabled.

If *PtpHardwareTimestamp is enabled, the miniport driver should:

  1. Aktivieren Sie die relevanten Hardwarezeitstempelfunktionen in der NIC-Hardware.

  2. Generate the NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indication to report the timestamping capabilities it enabled to NDIS. The driver uses the NDIS_TIMESTAMP_CAPABILITIES structure to specify which capabilities it enabled. The flags within the TimestampFlags field in the NDIS_TIMESTAMP_CAPABILITIES structure that correspond to hardware timestamping are PtpV2OverUdpIPv4EventMsgReceiveHw, PtpV2OverUdpIPv4AllMsgReceiveHw, PtpV2OverUdpIPv4EventMsgTransmitHw, PtpV2OverUdpIPv4AllMsgTransmitHw, PtpV2OverUdpIPv6EventMsgReceiveHw, PtpV2OverUdpIPv6AllMsgReceiveHw, PtpV2OverUdpIPv6EventMsgTransmitHw, PtpV2OverUdpIPv6AllMsgTransmitHw, AllReceiveHw, AllTransmitHw and TaggedTransmitHw. The CrossTimestamp field in the NDIS_TIMESTAMP_CAPABILITIES structure for the NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indicates if hardware cross timestamping is enabled.

When *PtpHardwareTimestamp is enabled the miniport should turn on some form of capability to generate hardware timestamps for both Rx and Tx for PTP version 2 over UDP. Der Miniport sollte auch die Hardware-Cross-Timestamping-Funktion aktivieren, wenn die Hardware sie unterstützt.

Die spezifischen Hardwarezeitstempelfunktionen, die der Miniporttreiber in der Hardware aktivieren soll, hängt von den Funktionen der NIC-Hardware ab. For example, if the NIC hardware only supports the PtpV2OverUDPIPv4EventMsgReceiveHw, PtpV2OverUDPIPv6EventMsgReceiveHw and TaggedTransmitHw capabilities, then the miniport can turn on these hardware timestamping capabilities if the *PtpHardwareTimestamp keyword is enabled.

Wenn die NIC-Hardware mehrere Formen von Hardwarezeitstempelfunktionen unterstützt, die das PTP Version 2 über UDP-Szenario aktivieren können, sollte die IHV ihre Hardware und Probleme berücksichtigen, z. B. Leistungsauswirkungen, um zu entscheiden, welche Funktionen der Miniport aktivieren soll. Die Hardware kann z. B. Zeitstempel für AllTransmitHw und TaggedTransmitHw. Wenn das Aktivieren AllTransmitHw teurer ist als das Aktivieren TaggedTransmitHw, kann sich der IHV entscheiden, nur die TaggedTransmitHw Funktion für Tx zu aktivieren.

In all cases, the miniport driver should accurately report which hardware timestamping capabilities it enabled or disabled using the NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indication.

Note

PTP über unformatiertes Ethernet wird nicht unterstützt. Die IHV muss bestimmen, welche effiziente Methode der Behandlung von PTP über unformatierte Ethernet-Pakete bei der Unterstützung von PTP über UDP aktiviert ist.

Note

Für PTP Version 1 ist keine Unterstützung erforderlich. Wenn die NIC-Hardware auch PTP Version 1 unterstützt, muss die IHV die effizienteste Methode für die Behandlung von PTP-Paketen, Version 1, ermitteln, wenn PTP Version 2 unterstützt wird.

INF-Einträge für *PtpHardwareTimestamp

The *PtpHardwareTimestamp INF keyword is an enumeration keyword. Aufzählungsstandardisierte INF-Schlüsselwörter weisen die folgenden Attribute auf:

Unterschlüsselname: Der Name des Schlüsselworts, das Sie in der INF-Datei angeben müssen.

ParamDesc: Der Anzeigetext, der subkeyName zugeordnet ist.

Wert: Der ganzzahlige Enumerationswert, der den einzelnen Unterschlüsselnamen in der Liste zugeordnet ist.

EnumDesc: Der Anzeigetext, der jedem Wert zugeordnet ist, der im Menü angezeigt wird.

Standard: Der Standardwert für das Menü.

The following table describes the possible INF entries for the *PtpHardwareTimestamp INF keyword.

SubkeyName ParamDesc Value EnumDesc
* PtpHardwareTimestamp PTP-Hardwarezeitstempel 0 (Default) Disabled
1 Enabled

Note

If the miniport driver finds an unsupported value for the *PtpHardwareTimestamp keyword, then it should disable the hardware timestamping capability completely.

*SoftwareTimestamp INF-Schlüsselwort

The *SoftwareTimestamp keyword corresponds to the types of software timestamping the miniport driver is capable of. Der Miniporttreiber verwendet den konfigurierten Wert für dieses Schlüsselwort, um zu bestimmen, welche der unterstützten Softwarezeitstempelfunktionen derzeit aktiviert sind.

The default setting for the *SoftwareTimestamp keyword is disabled and all types of software timestamping support in the miniport should be disabled by default.

The miniport generates the NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indication to inform NDIS of the various timestamping capabilities that are currently enabled.

The flags within the TimestampFlags field in the NDIS_TIMESTAMP_CAPABILITIES structure that correspond to software timestamping are AllReceiveSw, AllTransmitSw and TaggedTransmitSw.

If the *SoftwareTimestamp keyword contains a value that indicates that some configuration of software timestamping is enabled, then the miniport should enable the configured software timestamping capabilities and generate a NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indication that accurately reports which software timestamping capabilities have been enabled.

If the miniport does not support any type of software timestamping then the *SoftwareTimestamp keyword should not be included in its INF file.

The *SoftwareTimestamp INF keyword is an enumeration keyword. Aufzählungsstandardisierte INF-Schlüsselwörter weisen die folgenden Attribute auf:

Unterschlüsselname: Der Name des Schlüsselworts, das Sie in der INF-Datei angeben müssen.

ParamDesc: Der Anzeigetext, der subkeyName zugeordnet ist.

Wert: Der ganzzahlige Enumerationswert, der den einzelnen Unterschlüsselnamen in der Liste zugeordnet ist.

EnumDesc: Der Anzeigetext, der jedem Wert zugeordnet ist, der im Menü angezeigt wird.

Standard: Der Standardwert für das Menü.

The following table describes the possible INF entries for the *SoftwareTimestamp INF keyword.

SubkeyName ParamDesc Value EnumDesc
* SoftwareTimestamp Software Timestamp 0 (Default) Disabled
1 RxAll: This enum value corresponds to the miniport driver capability to generate software timestamps for all packets during Rx.
2 TxAll: This enum value corresponds to the miniport driver capability to generate software timestamps for all packets during Tx.
3 RxAll & TxAll: Dieser Enumerationswert entspricht der Miniporttreiberfunktion, um Softwarezeitstempel für alle Pakete während Rx und Tx zu generieren.
4 TaggedTx: This enum value corresponds to the miniport driver capability to generate software timestamps for a specific Tx packet when indicated to do so by the operating system.
5 RxAll & TaggedTx: Dieser Enumerationswert entspricht der Miniporttreiberfunktion, um Softwarezeitstempel für alle Pakete während Rx und für ein bestimmtes Tx-Paket zu generieren, wenn dies vom Betriebssystem angegeben ist.

Note

If the miniport driver finds an unsupported value for the *SoftwareTimestamp keyword, then it should disable the software timestamping capability completely.