Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура NET_BUFFER_LIST для каждого пакета, который проходит через расширяемый путь данных коммутатора Hyper-V, содержит внеполосные (OOB) данные. Эти данные указывают исходный порт, из которого произошел пакет, а также один или несколько портов назначения для доставки пакетов. Эти данные OOB называются расширяемым контекстом переадресации.
Для доступа к контексту переадресации расширяемого коммутатора в структуре NET_BUFFER_LIST пакета объявлены следующие типы данных:
NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO
Это 64-разрядное объединение, содержащее характеристики пересылки пакета. Эти данные включают идентификаторы исходного порта и подключения сетевого адаптера, из которого был создан пакет. Эти данные также включают количество неиспользуемых элементов, доступных в массиве портов назначения.
Расширение расширяемого коммутатора может получить доступ к этим данным с помощью макроса NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL.
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY
Эта структура определяет массив портов назначения для пакета. Каждый элемент в этом массиве форматируется как структура NDIS_SWITCH_PORT_DESTINATION.
Структура NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY содержит элементы, указывающие текущее число элементов, а также количество используемых элементов в массиве.
Расширение расширяемого коммутатора может получить этот массив, вызвав функцию GetNetBufferListDestinations. Если драйвер добавляет или изменяет элементы массива для пакета с несколькими портами назначения, он должен вызвать функцию UpdateNetBufferListDestinations. Эта функция фиксирует эти изменения в массиве портов назначения в контексте пересылки пакета.
Примечание: Чтобы зафиксировать изменения в пакете только с одним конечным портом, драйверу более эффективно вызвать функцию AddNetBufferListDestination.
NDIS_SWITCH_PORT_DESTINATION
Эта структура определяет порт назначения для пакета. Для пакетов с одним портом назначения в массиве портов назначения существует только один элемент NDIS_SWITCH_PORT_DESTINATION. Для пакетов с несколькими конечными портами в массиве есть один или несколько этих элементов.
После вызова расширения расширяемого коммутатора GetNetBufferListDestinations для получения массива портов назначения пакета он может получить отдельные элементы в массиве с помощью макроса NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX.