Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Порт-источник Hyper-V расширяемого коммутатора задается членом SourcePortId в структуре NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO. Эта структура содержится во внеполосном контексте переадресации структуры NET_BUFFER_LIST пакета. Дополнительные сведения об этом контексте см. в Hyper-V Контексте переадресации коммутаторов.
Расширение расширяемого коммутатора должно соответствовать этим рекомендациям по изменению идентификатора исходного порта пакета:
Расширение расширяемого коммутатора должно вызывать SetNetBufferListSource для изменения исходного порта пакета. Расширение не должно напрямую изменять элемент SourcePortId структуры NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO.
Если расширение создает или клонирует пакет, оно должно вызвать функцию AllocateNetBufferListForwardingContext после вызова NdisAllocateNetBufferList. Эта функция выделяет расширяемую область контекста коммутатора для данных OOB, используемых для передачи информации о пакете.
Когда расширение вызывает AllocateNetBufferListForwardingContext, член SourcePortId установлен в NDIS_SWITCH_DEFAULT_PORT_ID. Это указывает, что пакет был создан расширением, а не прибыл на настраиваемый порт коммутатора.
Пакеты с исходным портом NDIS_SWITCH_DEFAULT_PORT_ID обрабатываются маршрутом данных расширяемого переключателя как привилегированные и надежные. Такой трафик не должен подвергаться политикам, применяемым к пакетам из других исходных портов. Например, пакеты с идентификатором исходного порта NDIS_SWITCH_DEFAULT_PORT_ID обходят встроенные политики расширяемого коммутатора, которые применяются базовым краем минипорта этого коммутатора. К этим политикам относятся списки управления доступом (ACL) и качество обслуживания (QoS).
При инициировании трафика пакетов расширение должно использовать исходный порт NDIS_SWITCH_DEFAULT_PORT_ID экономно и с осторожностью. В большинстве случаев расширение должно изменить идентификатор исходного порта на активный порт в расширяемом коммутаторе. Это позволяет применять политики этого порта к пакету.
Однако может возникнуть ситуация, когда расширение должно использовать исходный порт NDIS_SWITCH_DEFAULT_PORT_ID для пакетов, которые он вызывает. Например, если расширение создаёт пакет управления, который нужно отправить к месту назначения в физической или виртуальной сети, оно должно использовать NDIS_SWITCH_DEFAULT_PORT_ID для идентификатора исходного порта. Это гарантирует, что пакет не будет фильтроваться и отклоняться базовыми расширениями в расширяемом стеке драйверов коммутатора.