Parole chiave INF standardizzate per il timestamp dei pacchetti NDIS
Un file INF può definire le parole chiave INF standardizzate seguenti per abilitare o disabilitare le funzionalità di timestamp supportate dal driver miniport e dall'hardware della scheda di interfaccia di rete.
I driver Miniport possono usare queste parole chiave per determinare la configurazione corrente delle funzionalità di timestamp. Ad esempio, il driver può leggere questi valori di parola chiave durante l'inizializzazione per determinare quali funzionalità di timestamp sono abilitate e il driver può quindi usare.
*PtpHardwareTimestamp Parola chiave INF
*SoftwareTimestamp Parola chiave INF
Per altre informazioni sulle parole chiave INF standardizzate, vedere Parole chiave INF standardizzate per i dispositivi di rete.
*Parola chiave INF PtpHardwareTimestamp
La parola chiave *PtpHardwareTimestamp è definita per abilitare o disabilitare il supporto per il timestamp hardware per i pacchetti PTP (Precision Time Protocol) versione 2 usando UDP come trasporto.
L'impostazione predefinita per la parola chiave *PtpHardwareTimestamp è disabilitata e il driver miniport deve disabilitare tutti i tipi di supporto del timestamp hardware nell'hardware della scheda di interfaccia di rete per impostazione predefinita.
I driver Miniport leggono il valore della parola chiave *PtpHardwareTimestamp per determinare se il timestamp hardware è attualmente abilitato o disabilitato.
Se *PtpHardwareTimestamp è abilitato, il driver miniport deve:
Abilitare le funzionalità di timestamp hardware pertinenti nell'hardware della scheda di interfaccia di rete.
Generare l'indicazione dello stato NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG per segnalare le funzionalità di timestamp abilitate per NDIS. Il driver usa la struttura NDIS_TIMESTAMP_CAPABILITIES per specificare le funzionalità abilitate. I flag all'interno del campo TimestampFlags nella struttura NDIS_TIMESTAMP_CAPABILITIES che corrispondono al timestamp hardware sono
PtpV2OverUdpIPv4EventMsgReceiveHw
, ,PtpV2OverUdpIPv4AllMsgReceiveHw
PtpV2OverUdpIPv4EventMsgTransmitHw
,PtpV2OverUdpIPv4AllMsgTransmitHw
,PtpV2OverUdpIPv6EventMsgTransmitHw
PtpV2OverUdpIPv6EventMsgReceiveHw
PtpV2OverUdpIPv6AllMsgTransmitHw
PtpV2OverUdpIPv6AllMsgReceiveHw
,AllReceiveHw
AllTransmitHw
e .TaggedTransmitHw
Il campo CrossTimestamp nella struttura NDIS_TIMESTAMP_CAPABILITIES per lo stato NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG indica se è abilitato il timestamp tra hardware.
Quando *PtpHardwareTimestamp è abilitato, il miniport deve attivare una forma di funzionalità per generare timestamp hardware per Rx e Tx per PTP versione 2 su UDP. Il miniport dovrebbe anche attivare la funzionalità di crossstamping hardware se l'hardware lo supporta.
Le funzionalità di timestamp hardware specifiche che il driver miniport deve abilitare nell'hardware dipende dalle funzionalità dell'hardware della scheda di interfaccia di rete. Ad esempio, se l'hardware della scheda di interfaccia di rete supporta solo le PtpV2OverUDPIPv4EventMsgReceiveHw
PtpV2OverUDPIPv6EventMsgReceiveHw
funzionalità e TaggedTransmitHw
, il miniport può attivare queste funzionalità di timestamp hardware se la parola chiave *PtpHardwareTimestamp è abilitata.
Se l'hardware della scheda di interfaccia di rete supporta più forme di funzionalità di timestamp hardware in grado di abilitare lo scenario PTP versione 2 su UDP, l'IHV deve considerare l'hardware e i problemi, ad esempio l'impatto sulle prestazioni per decidere quali funzionalità devono essere attivate dal miniport. Ad esempio, l'hardware può essere in grado di generare timestamp per AllTransmitHw
e TaggedTransmitHw
. Se l'attivazione AllTransmitHw
è più costosa rispetto all'attivazione TaggedTransmitHw
di , l'IHV può scegliere di attivare solo la TaggedTransmitHw
funzionalità per Tx.
In tutti i casi, il driver miniport deve segnalare con precisione quali funzionalità di timestamp hardware è abilitata o disabilitata usando l'indicazione dello stato NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG.
Nota
PTP su Ethernet non elaborato non è supportato. L'IHV deve determinare qual è il modo più efficiente per gestire PTP su pacchetti Ethernet non elaborati quando è abilitato il supporto di PTP su UDP.
Nota
Non è necessario alcun supporto per PTP versione 1. Se l'hardware della scheda di interfaccia di rete supporta anche PTP versione 1, l'IHV deve determinare il modo più efficiente per gestire i pacchetti PTP versione 1 durante il supporto di PTP versione 2.
Voci INF per *PtpHardwareTimestamp
La parola chiave INF *PtpHardwareTimestamp è una parola chiave di enumerazione. Le parole chiave INF standardizzate dell'enumerazione hanno gli attributi seguenti:
SubkeyName: nome della parola chiave che è necessario specificare nel file INF.
ParamDesc: testo visualizzato associato a SubkeyName.
Valore: valore intero di enumerazione associato a ogni SubkeyName nell'elenco.
EnumDesc: testo visualizzato associato a ogni valore visualizzato nel menu.
Impostazione predefinita: valore predefinito per il menu.
Nella tabella seguente vengono descritte le possibili voci INF per la parola chiave INF *PtpHardwareTimestamp .
SubkeyName | ParamDesc | Valore | EnumDesc |
---|---|---|---|
*PtpHardwareTimestamp | PTP Hardware Timestamp | 0 (predefinito) | Disabled |
1 | Attivato |
Nota
Se il driver miniport trova un valore non supportato per la parola chiave *PtpHardwareTimestamp , deve disabilitare completamente la funzionalità di timestamp hardware.
*Parola chiave INF SoftwareTimestamp
La parola chiave *SoftwareTimestamp corrisponde ai tipi di timestamp software che supportano il driver miniport. Il driver miniport usa il valore configurato per questa parola chiave per determinare quali delle funzionalità di timestamp software supportate sono attualmente abilitate.
L'impostazione predefinita per la parola chiave *SoftwareTimestamp è disabilitata e tutti i tipi di supporto del timestamp software nel miniport devono essere disabilitati per impostazione predefinita.
Il miniport genera l'indicazione dello stato NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG per informare NDIS delle varie funzionalità di timestamp attualmente abilitate.
I flag all'interno del campo TimestampFlags nella struttura NDIS_TIMESTAMP_CAPABILITIES che corrispondono al timestamp software sono AllReceiveSw
e AllTransmitSw
TaggedTransmitSw
.
Se la parola chiave *SoftwareTimestamp contiene un valore che indica che è abilitata una configurazione del timestamp software, il miniport deve abilitare le funzionalità di timestamp software configurate e generare un'indicazione di stato NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG che segnala accuratamente quali funzionalità di timestamp software sono state abilitate.
Se il miniport non supporta alcun tipo di timestamp software, la parola chiave *SoftwareTimestamp non deve essere inclusa nel file INF.
La parola chiave *SoftwareTimestamp INF è una parola chiave di enumerazione. Le parole chiave INF standardizzate dell'enumerazione hanno gli attributi seguenti:
SubkeyName: nome della parola chiave che è necessario specificare nel file INF.
ParamDesc: testo visualizzato associato a SubkeyName.
Valore: valore intero di enumerazione associato a ogni SubkeyName nell'elenco.
EnumDesc: testo visualizzato associato a ogni valore visualizzato nel menu.
Impostazione predefinita: valore predefinito per il menu.
Nella tabella seguente vengono descritte le possibili voci INF per la parola chiave *SoftwareTimestamp INF.
SubkeyName | ParamDesc | Valore | EnumDesc |
---|---|---|---|
*SoftwareTimestamp | Software Timestamp | 0 (predefinito) | Disabled |
1 | RxAll: questo valore di enumerazione corrisponde alla funzionalità del driver miniport per generare timestamp software per tutti i pacchetti durante Rx. | ||
2 | TxAll: questo valore di enumerazione corrisponde alla funzionalità del driver miniport per generare timestamp software per tutti i pacchetti durante il Tx. | ||
3 | RxAll & TxAll: questo valore di enumerazione corrisponde alla funzionalità del driver miniport per generare timestamp software per tutti i pacchetti durante Rx e Tx. | ||
4 | TaggedTx: questo valore di enumerazione corrisponde alla funzionalità del driver miniport per generare timestamp software per un pacchetto Tx specifico quando indicato per farlo dal sistema operativo. | ||
5 | RxAll & TaggedTx: questo valore di enumerazione corrisponde alla funzionalità del driver miniport per generare timestamp software per tutti i pacchetti durante Rx e per un pacchetto Tx specifico quando indicato a tale scopo dal sistema operativo. |
Nota
Se il driver miniport trova un valore non supportato per la parola chiave *SoftwareTimestamp , deve disabilitare completamente la funzionalità di timestamp software.