Стандартизированные ключевые слова INF для метки времени пакета NDIS
INF-файл может определить следующие стандартизированные ключевые слова INF для включения или отключения возможностей меток времени, поддерживаемых драйвером мини-порта и оборудованием сетевого адаптера.
Драйверы мини-порта могут использовать эти ключевые слова для определения текущей конфигурации возможностей меток времени. Например, драйвер может считывать эти ключевое слово значения во время инициализации, чтобы определить, какие возможности меток времени включены и, следовательно, драйвер может использовать.
*PtpHardwareTimestamp INF-ключевое слово
*SoftwareTimestamp INF-ключевое слово
Дополнительные сведения о стандартизированных ключевых словах INF см. в разделе Стандартизированные ключевые слова INF для сетевых устройств.
*PtpHardwareTimestamp INF ключевое слово
Ключевое слово *PtpHardwareTimestamp определяется для включения или отключения поддержки аппаратной метки времени для пакетов протокола точного времени (PTP) версии 2 с использованием UDP в качестве транспорта.
Параметр по умолчанию для ключевое слово *PtpHardwareTimestamp отключен, и драйвер мини-порта по умолчанию должен отключить все типы поддержки меток времени оборудования в оборудовании сетевой карты.
Драйверы минипорта считывают значение ключевое слово *PtpHardwareTimestamp, чтобы определить, включена или отключена метка времени оборудования.
Если параметр *PtpHardwareTimestamp включен, драйвер мини-порта должен:
Включите соответствующие аппаратные возможности меток времени в оборудовании сетевой карты.
Создайте индикатор состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG , чтобы сообщить о включенных возможностях меток времени в NDIS. Драйвер использует структуру NDIS_TIMESTAMP_CAPABILITIES для указания включенных возможностей. Флаги в поле TimestampFlags в структуре NDIS_TIMESTAMP_CAPABILITIES, соответствующие аппаратной метке времени:
PtpV2OverUdpIPv4EventMsgReceiveHw
,PtpV2OverUdpIPv4AllMsgReceiveHw
, ,PtpV2OverUdpIPv4EventMsgTransmitHw
,PtpV2OverUdpIPv4AllMsgTransmitHw
PtpV2OverUdpIPv6EventMsgReceiveHw
,PtpV2OverUdpIPv6AllMsgReceiveHw
,PtpV2OverUdpIPv6EventMsgTransmitHw
, ,AllTransmitHw
PtpV2OverUdpIPv6AllMsgTransmitHw
AllReceiveHw
и .TaggedTransmitHw
Поле CrossTimestamp в структуре NDIS_TIMESTAMP_CAPABILITIES для состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG указывает, включена ли аппаратная перекрестная метка времени.
Если параметр *PtpHardwareTimestamp включен, минипорт должен включить некоторую возможность создания аппаратных меток времени для Rx и Tx для PTP версии 2 по протоколу UDP. Мини-порт также должен включать возможность аппаратной перекрестной метки времени, если оборудование поддерживает ее.
Конкретные возможности аппаратной метки времени, которые должен включить драйвер мини-порта в оборудовании, зависят от возможностей оборудования сетевой карты. Например, если оборудование сетевой карты поддерживает PtpV2OverUDPIPv4EventMsgReceiveHw
только возможности , PtpV2OverUDPIPv6EventMsgReceiveHw
и TaggedTransmitHw
, то минипорт может включить эти аппаратные возможности меток времени, если включена ключевое слово *PtpHardwareTimestamp.
Если оборудование сетевой карты поддерживает несколько форм аппаратных возможностей меток времени, которые могут включить PTP-версию 2 по UDP, то IHV следует рассмотреть свое оборудование и проблемы, такие как влияние на производительность, чтобы решить, какие возможности должен включить минипорт. Например, оборудование может создавать метки времени для AllTransmitHw
и TaggedTransmitHw
. Если включение AllTransmitHw
обходится дороже, чем включение TaggedTransmitHw
, то IHV может включить TaggedTransmitHw
только возможность для Tx.
Во всех случаях драйвер мини-порта должен точно сообщить, какие аппаратные возможности меток времени он включил или отключил, используя указание состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG .
Примечание
PTP через необработанный Ethernet не поддерживается. IHV необходимо определить, какой наиболее эффективный способ обработки PTP через необработанные пакеты Ethernet включен при поддержке PTP через UDP.
Примечание
Поддержка PTP версии 1 не требуется. Если оборудование сетевого адаптера также поддерживает PTP версии 1, то IHV должен определить наиболее эффективный способ обработки пакетов PTP версии 1 при поддержке PTP версии 2.
Записи INF для *PtpHardwareTimestamp
INF-ключевое слово *PtpHardwareTimestamp является ключевое слово перечисления. Стандартизированные ключевые слова INF перечисления имеют следующие атрибуты:
SubkeyName: имя ключевое слово, которое необходимо указать в INF-файле.
ParamDesc: отображаемый текст, связанный с SubkeyName.
Значение: целочисленное значение перечисления, связанное с каждым subkeyName в списке.
EnumDesc: отображаемый текст, связанный с каждым значением, которое отображается в меню.
По умолчанию: значение по умолчанию для меню.
В следующей таблице описаны возможные записи INF для ключевое слово INF *PtpHardwareTimestamp.
Имя подраздела | ParamDesc | Значение | EnumDesc |
---|---|---|---|
*PtpHardwareTimestamp | Метка времени оборудования PTP | 0 (по умолчанию) | Выключено |
1 | Активировано |
Примечание
Если драйвер мини-порта находит неподдерживаемое значение для ключевое слово *PtpHardwareTimestamp, он должен полностью отключить возможность аппаратной метки времени.
*SoftwareTimestamp INF ключевое слово
*SoftwareTimestamp ключевое слово соответствует типам меток времени программного обеспечения, которые поддерживает драйвер мини-порта. Драйвер мини-порта использует настроенное значение для этого ключевое слово, чтобы определить, какие из поддерживаемых возможностей меток времени программного обеспечения в настоящее время включены.
Параметр по умолчанию для ключевое слово *SoftwareTimestamp отключен, а поддержка всех типов меток времени программного обеспечения в минипорте должна быть отключена по умолчанию.
Минипорт создает индикатор состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG , чтобы сообщить NDIS о различных возможностях меток времени, которые в настоящее время включены.
Флаги в поле TimestampFlags в структуре NDIS_TIMESTAMP_CAPABILITIES , соответствующие программной метке времени: AllReceiveSw
, AllTransmitSw
и TaggedTransmitSw
.
Если ключевое слово *SoftwareTimestamp содержит значение, указывающее, что включена определенная конфигурация метки времени программного обеспечения, то мини-порт должен включить настроенные возможности меток времени программного обеспечения и создать NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG состояние, указывающее, что точно сообщает, какие возможности меток времени программного обеспечения были включены.
Если мини-порт не поддерживает какие-либо типы меток времени программного обеспечения, то ключевое слово *SoftwareTimestamp не следует включать в СВОЙ INF-файл.
INF-ключевое слово *SoftwareTimestamp — это ключевое слово перечисления. Стандартизированные ключевые слова INF перечисления имеют следующие атрибуты:
SubkeyName: имя ключевое слово, которое необходимо указать в INF-файле.
ParamDesc: отображаемый текст, связанный с SubkeyName.
Значение: целочисленное значение перечисления, связанное с каждым subkeyName в списке.
EnumDesc: отображаемый текст, связанный с каждым значением, которое отображается в меню.
По умолчанию: значение по умолчанию для меню.
В следующей таблице описаны возможные записи INF для inf-ключевое слово *SoftwareTimestamp INF.
Имя подраздела | ParamDesc | Значение | EnumDesc |
---|---|---|---|
*SoftwareTimestamp | Метка времени программного обеспечения | 0 (по умолчанию) | Выключено |
1 | RxAll: это значение перечисления соответствует возможности драйвера miniport для создания программных меток времени для всех пакетов во время Rx. | ||
2 | TxAll. Это значение перечисления соответствует возможности драйвера miniport для создания программных меток времени для всех пакетов во время Tx. | ||
3 | RxAll & TxAll. Это значение перечисления соответствует возможности драйвера miniport для создания программных меток времени для всех пакетов во время Rx и Tx. | ||
4 | TaggedTx. Это значение перечисления соответствует возможности драйвера miniport для создания программных меток времени для определенного пакета Tx, если это указано операционной системой. | ||
5 | RxAll & TaggedTx. Это значение перечисления соответствует возможности драйвера мини-порта создавать программные метки времени для всех пакетов во время Rx и для определенного пакета Tx, если это указано операционной системой. |
Примечание
Если драйвер мини-порта обнаруживает неподдерживаемое значение для ключевое слово *SoftwareTimestamp, он должен полностью отключить возможность программной метки времени.