Поделиться через


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

Каждый порт назначения расширяемого коммутатора 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.