Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie omówiono, jak rozszerzenia rozszerzalnego przełącznika Hyper-V przesyłają żądania identyfikatora obiektu (OID) dla bazowych kart fizycznych przez ścieżkę sterowania przełącznika rozszerzalnego Hyper-V. Rozszerzenie może również inicjować żądania OID do podstawowych fizycznych kart sieciowych, stosując metody opisane w tym temacie.
Na przykład zewnętrzna karta sieciowa może być powiązana z wirtualną krawędzią miniportu sterownika pośredniego multipleksera NDIS (MUX). Sterownik MUX jest powiązany z zespołem składającym się z co najmniej jednej lub więcej sieci fizycznych zainstalowanych na hoście. Ta konfiguracja jest znana jako zespół przełączników rozszerzalnych .
W tej konfiguracji rozszerzenie przełącznika o rozszerzalnych możliwościach jest widoczne dla każdego adaptera sieciowego w grupie. Dzięki temu rozszerzenie może zarządzać konfiguracją i używaniem poszczególnych kart sieciowych w zespole. Na przykład, rozszerzenie przekazujące może zapewnić obsługę rozwiązania failover do równoważenia obciążenia (LBFO) na zespole, przekazując pakiety wychodzące do poszczególnych adapterów. Rozszerzenie przekierowujące, które zarządza grupą rozszerzalnych przełączników, jest nazywane dostawcą grupowania . Aby uzyskać więcej informacji na temat dostawców współpracy zespołowej, zobacz Rozszerzenia dostawcy współpracy zespołowej.
Na poniższej ilustracji przedstawiono przykład rozszerzalnego zespołu przełączników dla NDIS 6.40 (Windows Server 2012 R2) i nowszych.
Na poniższej ilustracji przedstawiono przykład zespołu przełączników rozszerzalnych dla NDIS 6.30 (Windows Server 2012).
Uwaga W interfejsie rozszerzalnego przełącznika Hyper-V sterowniki filtrów NDIS są znane jako rozszerzenia przełącznika rozszerzalnego , a stos sterowników nazywa się stos driverów rozszerzalnego przełącznika .
Żądania OID muszą być hermetyzowane, aby przekierować żądanie do podłączonej fizycznej karty sieciowej. Żądania OID są najpierw hermetyzowane wewnątrz struktury NDIS_SWITCH_NIC_OID_REQUEST. Następnie żądania identyfikatora OID są przekazywane za pośrednictwem rozszerzalnej ścieżki sterowania przełącznika przez żądanie ustawienia OID OID_SWITCH_NIC_REQUEST.
Żądania OID do bazowych kart fizycznych są realizowane przez następujące elementy:
interfejs rozszerzalnego przełącznika.
Żądania OID, takie jak żądania odciążania sprzętu, są wystawiane przez nakładający się protokół lub sterowniki filtrów, które działają w jednym z następujących kontekstów:
System operacyjny zarządzania, który działa w partycji nadrzędnej Hyper-V.
System operacyjny gościa, który działa w partycji podrzędnej Hyper-V.
Gdy te żądania OID są odbierane przez rozszerzalny przełącznik, są hermetyzowane i przekazywane przez rozszerzalną ścieżkę sterowania przełącznika. Gdy rozszerzenie przekazujące odbiera hermetyzowane żądanie OID, może przekazać żądanie do podstawowego adaptera fizycznego. Ta możliwość jest szczególnie przydatna do konfigurowania rozszerzalnego zespołu przełączników pod kątem odciążeń sprzętowych.
Na przykład sterownik MUX ogłasza typowe możliwości całego zespołu przełącznika rozszerzalnego. Jednak rozszerzenie przekazujące może wysyłać żądania OID do wykonywania zapytań lub ustawiać poszczególne możliwości adapterów w zespole. Następnie rozszerzenie przekazywania może zainicjować wskazanie stanu NDIS z zewnętrznej karty sieciowej, aby powiadomić nadrzędne sterowniki o możliwościach, które mają zastosowanie do całego zespołu. Aby uzyskać więcej informacji na temat tej procedury, zobacz Pochodzenie wskazań stanu NDIS z fizycznych kart sieciowych.
Gdy rozszerzenie przekazujące przekazuje żądanie OID za pośrednictwem kanału sterującego, odbiera je zewnętrzna karta sieciowa. W tym momencie żądanie identyfikatora OID jest decapsulatowane i przekazywane do określonej fizycznej karty sieciowej.
Uwaga Począwszy od systemu Windows Server 2012, tylko sprzętowe żądania OID związane z odciążaniem są hermetyzowane i przekazywane w ten sposób. Na przykład przekazywanie żądań OID dla kolejki maszyn wirtualnych (VMQ) lub zabezpieczeń protokołu internetowego (IPsec) są hermetyzowane i przekazywane przez ścieżkę kontrolną przełącznika rozszerzalnego. Aby uzyskać więcej informacji, przeczytaj Zarządzanie odciążaniem sprzętowym żądań OID na fizyczne karty sieciowe.
rozszerzenie przekierowania.
Rozszerzenie przekazujące może inicjować swoje własne hermetyzowane żądania OID i przekazywać je do fizycznego adaptera sieciowego. Rozszerzenie przekazujące może enkapsulować standardowe żądania NDIS OID. Rozszerzenie przekazywania może również hermetyzować prywatne żądania OID zdefiniowane przez niezależnego dostawcę sprzętu (IHV) dla fizycznych adapterów sieciowych. Umożliwia to moduł przekazywania, który został również opracowany przez IHV, w celu włączenia lub wyłączenia zastrzeżonych atrybutów na poszczególnych kartach fizycznych w ramach zespołu.
Ponadto rozszerzenie przekazujące może inicjować sprzętowo hermetyzowane żądania OID w celu przydzielenia zasobów dla określonej partycji podrzędnej Hyper-V. Na przykład rozszerzenie przekazujące może inicjować hermetyzowane żądania OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE w celu przydzielenia VMQ dla określonej partycji podrzędnej. W tym przypadku rozszerzenie hermetyzuje żądanie jako pochodzące z portu przełącznika rozszerzalnego i połączenia z adapterem sieciowym powiązanego z partycją.
Uwaga Rozszerzenie forwardingu może generować tylko własne żądanie hermetyzowanego odciążania OID, jeśli filtruje żądanie tego samego identyfikatora OID, które zostało wysłane przez sterowniki leżące wyżej. W takim przypadku rozszerzenie nie może przekazywać oryginalnego żądania identyfikatora OID. Zamiast tego rozszerzenie musi wywołać NdisFOidRequestComplete, aby ukończyć to żądanie, gdy usługa NDIS wywołuje FilterOidRequestComplete, aby zakończyć pierwotne żądanie OID.
filtrowanie lub przechwytywanie rozszerzeń
Rozszerzenie filtrowania lub przechwytywania może generować własne hermetyzowane żądania zapytania OID i przekazywać je do podstawowej fizycznej karty sieciowej. Te rozszerzenia mogą opakowywać standardowe żądania OID NDIS lub prywatne żądania OID zdefiniowane przez niezależnego producenta sprzętu (IHV) dla fizycznych adapterów sieciowych.
Uwaga Tylko rozszerzenia przekazujące mogą inicjować hermetyzowane żądania zestawu OID do podstawowych kart fizycznych.
Rozszerzenie przesyłania musi wykonać następujące kroki, gdy przesyła dalej, przekierowuje lub inicjuje hermetyzowane żądanie OID dla podstawowego adaptera fizycznego.
Jeśli rozszerzenie przekazujące inicjuje żądanie OID, musi zainicjować przydzieloną do rozszerzenia strukturę NDIS_OID_REQUEST z informacjami dotyczącymi żądania.
Jeśli rozszerzenie przekazuje żądanie OID, nie może zmienić istniejącej struktury NDIS_OID_REQUEST, na którą wskazuje parametr OidRequest funkcji FilterOidRequest. Zamiast tego, rozszerzenie należy wywołać NdisAllocateCloneOidRequest, aby przydzielić pamięć dla nowej struktury NDIS_OID_REQUEST i skopiować wszystkie informacje z istniejącej struktury NDIS_OID_REQUEST.
Rozszerzenie ustawia elementy członkowskie struktury NDIS_SWITCH_NIC_OID_REQUEST przydzielonej przez rozszerzenie na następujące wartości.
Element członkowski DestinationPortId musi być ustawiony do identyfikatora rozszerzalnego portu przełącznika, do którego podłączona jest zewnętrzna karta sieciowa.
Element członkowski DestinationNicIndex musi być ustawiony na wartość indeksu niezerową podstawowego fizycznego adaptera sieciowego.
Aby uzyskać więcej informacji na temat tych wartości indeksu, zobacz Wartości indeksu karty sieciowej.
Jeśli rozszerzenie przekazujące inicjuje sprzętowe żądanie OID odciążania dla partycji podrzędnej Hyper-V, element członkowski SourcePortId musi być ustawiony na identyfikator portu używanego przez partycję. Ponadto element członkowski SourceNicIndex musi być ustawiony na indeks karty sieciowej dla połączenia sieciowego z tym portem.
Jeśli rozszerzenie przesyłania dalej inicjuje standardowe lub prywatne żądanie OID dla własnych celów, członkowie SourcePortId i SourceNicIndex muszą być ustawieni na zero.
Jeśli rozszerzenie przekazywania żądań przekazuje lub przekierowuje żądanie odciążania sprzętowego identyfikatora OID, musi zachować wartości członków SourcePortId i SourceNicIndex, które zostały ustawione przez interfejs przełącznika rozszerzalnego.
Element OidRequest musi być ustawiony na wskaźnik na zainicjowaną strukturę NDIS_OID_REQUEST dla enkapsulowanego żądania identyfikatora OID. Rozszerzenie przekazywania albo przydziela i inicjuje tę strukturę, albo używa sklonowanej kopii tej struktury.
Rozszerzenie ustawia członków struktury NDIS_OID_REQUEST przydzielonej przez rozszerzenie na następujące wartości:
Członek Oid musi być ustawiony na OID_SWITCH_NIC_REQUEST.
Członek InformationBuffer musi zawierać wskaźnik do bufora, który zawiera wygenerowane lub przefiltrowane dane żądania OID.
Element członkowski InformationBufferLength musi zawierać długość w bajtach buforu, który zawiera wygenerowane lub przefiltrowane dane żądania OID.
Rozszerzenie ustawia inne elementy członkowskie struktury NDIS_OID_REQUEST na wartości prawidłowe.
Rozszerzenie wywołuje ReferenceSwitchNic, aby zwiększyć licznik referencji dla indeksu docelowej fizycznej karty sieciowej. Gwarantuje to, że rozszerzalny interfejs przełącznika nie usunie fizycznego połączenia karty sieciowej, podczas gdy jego licznik odniesienia nie jestzerowy.
Gdy rozszerzenie wywołuje ReferenceSwitchNic, ustawia parametr SwitchPortId na wartość określoną dla elementu członkowskiego DestinationPortId. Rozszerzenie ustawia również parametr SwitchNicIndex na wartość określoną dla elementu DestinationNicIndex.
Uwaga Jeśli ReferenceSwitchNic nie zwraca NDIS_STATUS_SUCCESS, żądanie OID nie może być przekierowane do docelowej fizycznej karty sieciowej.
Jeśli rozszerzenie przekazujące rozpoczyna sprzętowe żądanie odciążenia OID dla partycji podrzędnej Hyper-V, wywołuje również ReferenceSwitchNic, aby zwiększyć licznik odwołań w odniesieniu do indeksu źródłowego adaptera sieciowego skojarzonego z partycją. Gwarantuje to, że rozszerzalny interfejs przełącznika nie usunie fizycznego połączenia karty sieciowej, podczas gdy jego licznik odniesienia nie jestzerowy.
Gdy rozszerzenie wywołuje ReferenceSwitchNic, ustawia parametr SwitchPortId na wartość określoną dla członka SourcePortId. Rozszerzenie również ustawia parametr SwitchNicIndex na wartość określoną dla członka SourceNicIndex.
Uwaga Jeśli ReferenceSwitchNic nie zwraca NDIS_STATUS_SUCCESS, żądanie OID nie może być przekazywane do docelowej fizycznej karty sieciowej.
Rozszerzenie wywołuje NdisFOidRequest, aby przekazać hermetyzowane żądanie OID do określonego portu rozszerzalnego przełącznika docelowego i karty sieciowej.
Uwaga Jeśli rozszerzenie przekazuje filtrowane żądanie OID, to musi wywołać NdisFOidRequest w kontekście wywołania swojej funkcji FilterOidRequest. Jeśli rozszerzenie przekazuje żądania OID, które wygenerowało, wywołuje NdisFIndicateStatus, będąc w stanie Running, Restarting, Pausedi Pausing. Aby uzyskać więcej informacji na temat tych stanów, zobacz Stany i operacje modułu filtra.
Gdy usługa NDIS wywołuje funkcję FilterOidRequestComplete, rozszerzenie wywołuje DereferenceSwitchNic w celu wyczyszczenia wartości licznika odniesienia dla indeksu docelowego fizycznego adaptera sieciowego.
Jeśli rozszerzenie przekazujące zainicjowało żądanie odciążania sprzętu OID dla podrzędnej partycji Hyper-V, wywołuje również DereferenceSwitchNic w celu wyczyszczenia licznika odwołania dla indeksu połączenia źródłowej karty sieciowej.
W obu przypadkach rozszerzenie ustawia parametry SwitchPortId i SwitchNicIndex do tych samych wartości, które były używane w wywołaniu ReferenceSwitchNic.
Aby uzyskać więcej informacji na temat sposobu, w jaki rozszerzenie wysyła żądania OID, zobacz Generowanie żądań OID ze sterownika filtru NDIS.
Aby uzyskać więcej informacji na temat sterowników MUX, zobacz NDIS MUX Intermediate Drivers.