Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширяемый интерфейс коммутатора уведомляет базовые расширения об изменениях конфигурации компонента расширяемого коммутатора и параметров политики путем выдачи запросов на расширяемый идентификатор объекта коммутатора (OID). Эти запросы выдаются пограничным протоколом расширяемого коммутатора, чтобы уведомить базовые расширения об изменениях конфигурации компонента расширяемого коммутатора и параметров политики. Эти запросы OID перемещаются через стек драйверов расширяемого коммутатора к базовому краю минипорта расширяемого коммутатора.
На следующем рисунке показан путь управления расширяемым коммутатором для запросов OID для NDIS 6.40 (Windows Server 2012 R2) и более поздних версий.
На следующем рисунке показан путь управления расширяемым коммутатором для запросов OID для NDIS 6.30 (Windows Server 2012).
Примечание В интерфейсе расширяемого коммутатора драйверы фильтров NDIS называются расширениями расширяемого коммутатора, а стек драйверов называется стеком расширяемых коммутаторов.
Интерфейс протокола расширяемого коммутатора отправляет OID-запросы для следующих типов уведомлений:
Изменения конфигурации порта на расширяемом коммутаторе.
Например, драйвер протокола выдает OID_SWITCH_PORT_CREATE, чтобы уведомить базовые расширения о создании порта на модульном коммутаторе. Аналогичным образом драйвер протокола выдает OID_SWITCH_PORT_DELETE, чтобы уведомить расширения об удалении порта.
Дополнительные сведения об этом типе уведомления об OID см. в разделе Hyper-V Расширяемые порты коммутаторов.
Изменения подключения сетевого адаптера к порту на расширяемом коммутаторе.
Например, драйвер протокола выдает команду OID_SWITCH_NIC_CONNECT, чтобы уведомить нижележащие расширения о подключении сетевого адаптера к порту на расширяемом коммутаторе. Аналогичным образом драйвер протокола выдает OID_SWITCH_NIC_DISCONNECT, чтобы уведомить расширения о том, что сетевой адаптер отключен от порта.
Дополнительные сведения об этом типе уведомления об OID см. в разделеHyper-V Расширяемые сетевые адаптеры коммутаторов.
Изменения в расширяемом порте коммутатора или в политиках коммутатора.
Например, драйвер протокола выдает OID_SWITCH_PROPERTY_ADD, чтобы уведомить базовые расширения о добавлении свойства расширяемого коммутатора. Аналогичным образом драйвер протокола выдает команду OID_SWITCH_PORT_PROPERTY_DELETE для уведомления расширений об удалении свойства порта.
Дополнительные сведения об этом типе уведомлений об OID см. в разделе "Управление политиками расширяемого коммутатора Hyper-V".
Заметка Расширение не уведомляется об изменении политики порта по умолчанию или переключающей политики, управляемых нижележащим краем минипорта регулируемого коммутатора.
Сохранение или восстановление данных порта во время выполнения.
Например, драйвер протокола выдает OID_SWITCH_NIC_SAVE, чтобы уведомить базовые расширения о необходимости сохранить временные данные для указанного порта на расширяемом коммутаторе. Эти OIDs выдаются при сохранении или переносе состояния Hyper-V на другой сервер. Аналогичным образом драйвер протокола выдает OID_SWITCH_NIC_RESTORE, чтобы уведомить расширения о восстановлении данных порта в рабочем состоянии на расширяемом коммутаторе.
Для получения дополнительных сведений об этом типе уведомления об OID, см. раздел Управление Hyper-V расширяемым коммутатором Run-Time данных.
Драйвер мини-порта расширения расширяемого коммутатора отвечает за выполнение этих запросов OID. Однако в некоторых случаях при запросах с расширяемым коммутатором OID базовое расширение может завершиться неудачей и заблокировать уведомление. Например, когда драйвер протокола расширяемого коммутатора уведомляет драйверы фильтров о новом порту, который будет создан на расширяемом коммутаторе, он выдает запрос набора OID-наборов OID_SWITCH_PORT_CREATE. Основное расширение фильтрации или пересылки может наложить вето на создание порта, завершив запрос OID статусом STATUS_DATA_NOT_ACCEPTED.
Расширение расширяемого коммутатора должно соответствовать этим рекомендациям при вызове функции FilterOidRequest для расширяемого запроса OID коммутатора:
Расширение не должно изменять данные, на которые указывает параметр OidRequest .
Для некоторых запросов OID расширяемого коммутатора расширение может завершить запрос OID со статусом STATUS_DATA_NOT_ACCEPTED. Это ветоирует операцию с расширяемым компонентом коммутатора, для которого был выдан запрос OID.
Например, расширение может завершить запрос OID_SWITCH_NIC_CREATE со статусом STATUS_DATA_NOT_ACCEPTED. Драйвер может выполнить это, если он не может удовлетворить настроенные политики на указанном порту, на котором создается сетевое подключение.
Расширение может выполнять запросы таким образом для следующих OID:
Если расширение не завершает запрос OID, оно должно вызвать NdisFOidRequest, чтобы перенаправить запрос по стеку драйвера расширяемого коммутатора вниз.
Заметка Прежде чем драйвер вызывает NdisFOidRequest, драйвер должен вызвать NdisAllocateCloneOidRequest , чтобы выделить структуру NDIS_OID_REQUEST и передать сведения запроса в новую структуру.
Расширение должно отслеживать результат завершения запроса OID при вызове функции FilterOidRequestComplete . Это позволяет расширению определить, выполнена ли операция в компоненте расширяемого коммутатора успешно или была ветоирована базовым расширением.
Дополнительные сведения о том, как фильтровать и пересылать запрос OID, см. в разделе "Фильтрация запросов OID" в драйвере фильтра NDIS.
NDIS и вышележащие протоколы и драйверы фильтров могут выдавать запросы OID для аппаратных технологий разгрузки подлежащему физическому сетевому адаптеру. К ним относятся запросы OID для разгрузки технологий, таких как очередь виртуальных машин (VMQ), безопасность протокола Интернета (IPsec) и виртуализация одно корневых операций ввода-вывода (SR-IOV).
Когда эти запросы OID поступают в интерфейс расширяемого коммутатора, он инкапсулирует запрос OID внутри NDIS_SWITCH_NIC_OID_REQUEST. Затем край протокола расширяемого коммутатора выдает запрос OID OID_SWITCH_NIC_REQUEST, содержащий эту структуру.
Расширяемое расширение переадресации коммутатора может обеспечить поддержку технологии разгрузки оборудования NDIS на одном или нескольких физических адаптерах, привязанных к внешнему сетевому адаптеру. В этой конфигурации расширяемый коммутатор внешнего сетевого адаптера привязан к пограничному краю виртуального минипорта промежуточного драйвера мультиплексера NDIS (MUX). Промежуточный драйвер MUX привязан к команде одной или нескольких физических сетей на узле. Эта конфигурация называется расширяемой командой коммутаторов. Дополнительные сведения о расширяемых командах коммутаторов см. в типах конфигураций физических сетевых адаптеров.
В этой конфигурации расширения расширяемого коммутатора предоставляются каждому сетевому адаптеру в команде. Это позволяет расширению переадресации в стеке драйверов расширяемого коммутатора управлять конфигурацией и использованием отдельных сетевых адаптеров в составе команды. Например, расширение может обеспечить поддержку решения балансировки нагрузки и переключения при сбоях (LBFO) в команде, перенаправляя исходящие пакеты на отдельные адаптеры. Такое расширение называется поставщиком командных решений. Дополнительные сведения о провайдерах объединения см. в разделе Расширения провайдера объединений.
Обрабатывая запрос OID OID_SWITCH_NIC_REQUEST, поставщики групп могут участвовать в настройке группы адаптеров для разгрузки оборудования. Например, расширение может создать собственный запрос OID OID_SWITCH_NIC_REQUEST для настройки физического адаптера с параметрами для разгрузки оборудования.
Дополнительные сведения об обработке запроса OID_SWITCH_NIC_REQUEST OID см. в статье пересылка запросов OID в физические сетевые адаптеры.
Заметка Драйверы фильтров расширений могут создавать запросы OID OID_SWITCH_NIC_REQUEST для выдачи частных OID для любого физического адаптера, привязанного к расширяемому сетевому адаптеру.
Заметка Запросы перезапуска стека с помощью NdisFRestartFilter не будут завершены, пока ожидается расширяемый запрос OID коммутатора. По этой причине расширение, ожидающее перезапуска стека, должно завершить все текущие запросы OID.
Дополнительные сведения о пути управления расширяемого коммутатора для запросов OID см. в разделе Hyper-V Extensible Switch Control Path for OID Requests.