Palabras clave INF estandarizadas para la marca de tiempo de paquetes NDIS
Un archivo INF puede definir las siguientes palabras clave INF estandarizadas para habilitar o deshabilitar las funcionalidades de marca de tiempo que admite el controlador de miniporte y el hardware NIC.
Los controladores miniport pueden usar estas palabras clave para determinar la configuración actual de las funcionalidades de marca de tiempo. Por ejemplo, el controlador puede leer estos valores de palabra clave durante la inicialización para determinar qué funcionalidades de marca de tiempo están habilitadas y, por tanto, el controlador puede usar.
*PtpHardwareTimestamp Palabra clave INF
*SoftwareTimestamp Palabra clave INF
Para obtener más información sobre las palabras clave INF estandarizadas, vea Palabras clave INF estandarizadas para dispositivos de red.
*Palabra clave INF PtpHardwareTimestamp
La palabra clave *PtpHardwareTimestamp se define para habilitar o deshabilitar la compatibilidad con la marca de tiempo de hardware para los paquetes de protocolo de tiempo de precisión (PTP) versión 2 mediante UDP como transporte.
La configuración predeterminada de la palabra clave *PtpHardwareTimestamp está deshabilitada y el controlador de minipuerto debe deshabilitar todos los tipos de compatibilidad de marcas de tiempo de hardware en el hardware NIC de forma predeterminada.
Los controladores de minipuerto leen el valor de palabra clave *PtpHardwareTimestamp para determinar si la marca de tiempo de hardware está habilitada o deshabilitada actualmente.
Si *PtpHardwareTimestamp está habilitado, el controlador de minipuerto debe:
Habilite las funcionalidades de marca de tiempo de hardware pertinentes en el hardware NIC.
Genere la indicación de estado de NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG para informar de las funcionalidades de marca de tiempo que habilitó en NDIS. El controlador usa la estructura NDIS_TIMESTAMP_CAPABILITIES para especificar qué funcionalidades habilitó. Las marcas del campo TimestampFlags de la estructura NDIS_TIMESTAMP_CAPABILITIES que corresponden a la marca de tiempo de hardware son
PtpV2OverUdpIPv4EventMsgReceiveHw
, ,PtpV2OverUdpIPv6EventMsgReceiveHw
PtpV2OverUdpIPv4EventMsgTransmitHw
PtpV2OverUdpIPv6AllMsgTransmitHw
PtpV2OverUdpIPv6EventMsgTransmitHw
PtpV2OverUdpIPv6AllMsgReceiveHw
PtpV2OverUdpIPv4AllMsgTransmitHw
PtpV2OverUdpIPv4AllMsgReceiveHw
, ,AllReceiveHw
y .AllTransmitHw
TaggedTransmitHw
El campo CrossTimestamp de la estructura NDIS_TIMESTAMP_CAPABILITIES para el estado de NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG indica si está habilitada la marca de tiempo cruzada de hardware.
Cuando *PtpHardwareTimestamp está habilitado, la minipuerta debe activar alguna forma de funcionalidad para generar marcas de tiempo de hardware para Rx y Tx para la versión 2 de PTP a través de UDP. El minipuerto también debe activar la funcionalidad de marca de tiempo cruzada de hardware si el hardware lo admite.
Las funcionalidades específicas de marca de tiempo de hardware que el controlador de miniporte debe habilitar en el hardware depende de las funcionalidades del hardware de la NIC. Por ejemplo, si el hardware NIC solo admite las PtpV2OverUDPIPv4EventMsgReceiveHw
funcionalidades , PtpV2OverUDPIPv6EventMsgReceiveHw
y TaggedTransmitHw
, la miniporte puede activar estas funcionalidades de marca de tiempo de hardware si la palabra clave *PtpHardwareTimestamp está habilitada.
Si el hardware de la NIC admite varias formas de funcionalidades de marca de tiempo de hardware que pueden habilitar la versión 2 de PTP a través del escenario UDP, el IHV debe tener en cuenta su hardware y problemas, como el impacto en el rendimiento para decidir qué funcionalidades debe activarse la miniporte. Por ejemplo, el hardware puede ser capaz de generar marcas de tiempo para AllTransmitHw
y TaggedTransmitHw
. Si activar AllTransmitHw
es más caro que activar TaggedTransmitHw
, el IHV puede optar por activar solo la TaggedTransmitHw
funcionalidad de Tx.
En todos los casos, el controlador de minipuerto debe notificar con precisión qué funcionalidades de marca de tiempo de hardware ha habilitado o deshabilitado con la indicación de estado NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG .
Nota
No se admite PTP a través de Ethernet sin procesar. El IHV debe determinar cuál es la manera más eficaz de controlar PTP a través de paquetes Ethernet sin procesar cuando se habilita la compatibilidad con PTP a través de UDP.
Nota
No se necesita compatibilidad con PTP versión 1. Si el hardware de la NIC también admite la versión 1 de PTP, el IHV debe determinar la forma más eficaz de controlar paquetes PTP versión 1 al admitir la versión 2 de PTP.
Entradas INF para *PtpHardwareTimestamp
La palabra clave *PtpHardwareTimestamp INF es una palabra clave de enumeración. Las palabras clave INF estandarizadas de enumeración tienen los siguientes atributos:
SubkeyName: nombre de la palabra clave que debe especificar en el archivo INF.
ParamDesc: texto para mostrar asociado a SubkeyName.
Valor: valor entero de enumeración asociado a cada SubkeyName de la lista.
EnumDesc: texto para mostrar asociado a cada valor que aparece en el menú.
Valor predeterminado: valor predeterminado para el menú.
En la tabla siguiente se describen las posibles entradas INF para la palabra clave INF *PtpHardwareTimestamp INF.
SubkeyName | ParamDesc | Valor | EnumDesc |
---|---|---|---|
*PtpHardwareTimestamp | Marca de tiempo de hardware PTP | 0 (predeterminado) | Disabled |
1 | habilitado |
Nota:
Si el controlador de minipuerto encuentra un valor no admitido para la palabra clave *PtpHardwareTimestamp , debe deshabilitar completamente la funcionalidad de marca de tiempo de hardware.
*Palabra clave INF de SoftwareTimestamp
La palabra clave *SoftwareTimestamp corresponde a los tipos de marca de tiempo de software que el controlador de miniporte es capaz de. El controlador de minipuerto usa el valor configurado para esta palabra clave para determinar cuáles de las funcionalidades de marca de tiempo de software admitidas están habilitadas actualmente.
La configuración predeterminada de la palabra clave *SoftwareTimestamp está deshabilitada y todos los tipos de compatibilidad con la marca de tiempo de software en el miniport deben deshabilitarse de forma predeterminada.
El minipuerto genera la indicación de estado NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG para informar al NDIS de las distintas funcionalidades de marca de tiempo que están habilitadas actualmente.
Las marcas del campo TimestampFlags de la estructura NDIS_TIMESTAMP_CAPABILITIES que corresponden a la marca de tiempo de software son AllReceiveSw
y AllTransmitSw
TaggedTransmitSw
.
Si la palabra clave *SoftwareTimestamp contiene un valor que indica que se habilita alguna configuración de la marca de tiempo de software, el miniporte debe habilitar las funcionalidades de marca de tiempo de software configuradas y generar una indicación de estado de NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG que indica con precisión qué funcionalidades de marca de tiempo de software se han habilitado.
Si el miniport no admite ningún tipo de marca de tiempo de software, la palabra clave *SoftwareTimestamp no debe incluirse en su archivo INF.
La palabra clave *SoftwareTimestamp INF es una palabra clave de enumeración. Las palabras clave INF estandarizadas de enumeración tienen los siguientes atributos:
SubkeyName: nombre de la palabra clave que debe especificar en el archivo INF.
ParamDesc: texto para mostrar asociado a SubkeyName.
Valor: valor entero de enumeración asociado a cada SubkeyName de la lista.
EnumDesc: texto para mostrar asociado a cada valor que aparece en el menú.
Valor predeterminado: valor predeterminado para el menú.
En la tabla siguiente se describen las posibles entradas INF para la palabra clave INF *SoftwareTimestamp .
SubkeyName | ParamDesc | Valor | EnumDesc |
---|---|---|---|
*SoftwareTimestamp | Marca de tiempo de software | 0 (predeterminado) | Disabled |
1 | RxAll: este valor de enumeración corresponde a la capacidad del controlador de minipuerto para generar marcas de tiempo de software para todos los paquetes durante Rx. | ||
2 | TxAll: este valor de enumeración corresponde a la capacidad del controlador de miniporte para generar marcas de tiempo de software para todos los paquetes durante Tx. | ||
3 | RxAll & TxAll: este valor de enumeración corresponde a la capacidad del controlador de miniporte para generar marcas de tiempo de software para todos los paquetes durante Rx y Tx. | ||
4 | TaggedTx: este valor de enumeración corresponde a la capacidad del controlador de minipuerto para generar marcas de tiempo de software para un paquete Tx específico cuando se indique que lo haga el sistema operativo. | ||
5 | RxAll & TaggedTx: este valor de enumeración corresponde a la capacidad del controlador de miniporte para generar marcas de tiempo de software para todos los paquetes durante Rx y para un paquete Tx específico cuando se indique que lo haga el sistema operativo. |
Nota
Si el controlador de miniporte encuentra un valor no admitido para la palabra clave *SoftwareTimestamp , debe deshabilitar completamente la funcionalidad de marca de tiempo de software.