Запрос данных о порте назначения в расширяемом коммутаторе пакетов

Каждый порт назначения Hyper-V расширяемого коммутатора указывается элементом NDIS_SWITCH_PORT_DESTINATION в структуре NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Этот массив содержится в контексте внеполосной (OOB) переадресации структуры пакета NET_BUFFER_LIST. Для получения дополнительной информации об этом контексте см. Hyper-V Контекст пересылки в расширяемом коммутаторе.

Расширение расширяемого коммутатора вызывает функцию GetNetBufferListDestinations для получения указателя на структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY в структуре списка сетевых буферов пакета NET_BUFFER_LIST. Доступ к отдельным элементам NDIS_SWITCH_PORT_DESTINATION в данной структуре можно получить с помощью макроса NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX.

Чтобы повысить производительность, расширение пересылки может вызывать функцию GrowNetBufferListDestinations вместо GetNetBufferListDestinations для получения указателя на структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Расширение выполняет это, если оно определяет, что нуждается в дополнительных элементах массива в OOB-данных пакета для конечных портов. Дополнительные сведения см. в разделе Добавление данных порта назначения расширяемого коммутатора в пакет.

Примечание Только пакеты, полученные из пути исходящих данных расширяемого коммутатора, будут содержать сведения о портах назначения. Дополнительные сведения см. в разделе Hyper-V Расширяемый путь к данным коммутатора.