Udostępnij za pośrednictwem


OID_SWITCH_NIC_CREATE

Krawędź protokołu Hyper-V rozszerzalnego przełącznika wystawia żądanie zestawu identyfikatora obiektu (OID) OID_SWITCH_NIC_CREATE powiadamiania podstawowych rozszerzalnych rozszerzeń przełączników, że nowe połączenie jest ustanawiane między rozszerzalnym portem przełącznika a zewnętrzną lub wirtualną kartą sieciową. Po pełnym nawiązaniu połączenia krawędź protokołu rozszerzalnego przełącznika wystawia żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_CONNECT.

Element InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do struktury NDIS_SWITCH_NIC_PARAMETERS.

Uwagi

Element PortId struktury NDIS_SWITCH_NIC_PARAMETERS określa rozszerzalny port przełącznika, dla którego jest wykonywane powiadomienie o tworzeniu. Rozszerzalne rozszerzenie przełącznika może uzyskać informacje o parametrach dla tego i innych portów na rozszerzalnym przełączniku, wydając żądania zapytań OID OID_SWITCH_PORT_ARRAY.

Index składowa struktury NDIS_SWITCH_NIC_PARAMETERS określa indeks karty sieciowej, dla której jest wykonywane powiadomienie o tworzeniu. Karta sieciowa z określoną wartością Index jest połączona z rozszerzalnym portem przełącznika określonym przez element członkowski portid. Aby uzyskać więcej informacji na temat tych wartości indeksu, zobacz Wartości indeksu karty sieciowej.

Po odebraniu żądania zestawu identyfikatorów OID OID_SWITCH_NIC_CREATE rozszerzenie musi postępować zgodnie z następującymi wytycznymi:

  • Rozszerzenie nie może modyfikować struktury NDIS_SWITCH_NIC_PARAMETERS skojarzonej z żądaniem OID.

  • Żądanie OID_SWITCH_NIC_CREATE powiadamia tylko rozszerzenie o tym, że jest uruchamiane nowe, rozszerzalne połączenie przełącznika i że ruch pakietów może wkrótce wystąpić za pośrednictwem określonego portu. Jednak rozszerzenie nie może używać portu, dopóki krawędź protokołu przełącznika rozszerzalnego nie wystawia żądania zestawu identyfikatorów OID OID_SWITCH_NIC_CONNECT. Do momentu wydania tego OID rozszerzenie nie może wykonywać następujących czynności:

    • Wygeneruj ruch pakietów do połączenia karty sieciowej na rozszerzalnym porcie przełącznika, dla którego wydano żądanie OID_SWITCH_NIC_CREATE OID.

    • Przesyłaj dalej lub pochodzą żądania identyfikatora OID OID_SWITCH_NIC_REQUEST do podstawowej karty sieciowej, dla której wydano żądanie identyfikatora OID OID_SWITCH_NIC_CREATE.

    • Prześlij dalej lub pochodzą wskazania stanu NDIS NDIS_STATUS_SWITCH_NIC_STATUS z podstawowej karty sieciowej, dla której wydano żądanie identyfikatora OID OID_SWITCH_NIC_CREATE.

    • Wywołaj ReferenceSwitchNic, aby zwiększać rozszerzalny licznik odwołania przełącznika dla określonego połączenia karty sieciowej na rozszerzalnym porcie przełącznika.

    Uwaga Rozszerzenie może przechwycić pakiety wysyłania lub odbierania dla określonego portu między żądaniami identyfikatora OID OID_SWITCH_NIC_CREATE i OID_SWITCH_NIC_CONNECT. W takim przypadku rozszerzenie powinno przekazywać dalej żądania wysyłania lub odbierania pakietów zamiast ich anulowania.

  • Rozszerzenie może zawetować powiadomienie o tworzeniu, zwracając NDIS_STATUS_DATA_NOT_ACCEPTED dla żądania OID. Jeśli na przykład rozszerzenie nie może spełnić skonfigurowanych zasad na określonym porcie, rozszerzenie powinno zawetować powiadomienie o utworzeniu.

    Jeśli rozszerzenie zwróci inne kody stanu NDIS_STATUS_Xxx, powiadomienie o utworzeniu również zostanie zawetowane. Jednak zwracanie kodów stanu dla scenariuszy przejściowych, takich jak zwracanie NDIS_STATUS_RESOURCES, może spowodować ponowienie próby powiadomienia o utworzeniu.

    Jeśli rozszerzenie nie zawetuje żądania OID, powinno monitorować stan po zakończeniu żądania. Rozszerzenie powinno to zrobić, aby określić, czy żądanie OID zostało zawetowane przez podstawowe rozszerzenia w rozszerzalnej ścieżce sterowania przełącznika, czy przez rozszerzalny interfejs przełącznika.

    Uwaga Rozszerzenie może zawetować żądanie OID tylko wtedy, gdy element członkowski indeksu struktury NDIS_SWITCH_NIC_PARAMETERS określa wartość indeksu karty sieciowej o wartości zero.

  • Jeśli rozszerzenie nie zawetuje powiadomienia o tworzeniu, musi wywołać NdisFOidRequest, aby przekazać to żądanie identyfikatora OID do podstawowych rozszerzeń w rozszerzalnym stosie sterowników przełącznika.

    Uwaga Rozszerzenie powinno monitorować stan ukończenia tego żądania OID. Rozszerzenie robi to, aby wykryć, czy podstawowe rozszerzenia w rozszerzalnym stosie sterowników przełącznika zawetowały powiadomienie o tworzeniu.

  • Jeśli rozszerzenie wywołuje NdisFOidRequest do przekazywania tego żądania OID, rozszerzenie nie będzie natychmiast odbierać żadnego ruchu pakietów do lub z portu rozszerzalnego przełącznika. Ponadto rozszerzenie nie może natychmiast wstrzyknąć ruchu wysyłania lub odbierania dla rozszerzalnego portu przełącznika.

  • Rozszerzenie może przekazywać ruch pakietów tylko do rozszerzalnego portu przełącznika po brzegu protokołu rozszerzalnego przełącznika wystawia żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_CONNECT.

    Uwaga W niektórych sytuacjach ruch pakietów może być przekazywany przez rozszerzalny przełącznik do portu przed wydaniem żądania zestawu identyfikatorów OID OID_SWITCH_NIC_CONNECT.

  • Rozszerzalna zewnętrzna karta sieciowa przełącznika może wiązać się z co najmniej jedną podstawową kartą fizyczną. Dla każdej fizycznej karty sieciowej powiązanej z zewnętrzną kartą sieciową krawędź protokołu przełącznika rozszerzalnego wystawia oddzielne żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_CREATE. Każde żądanie zestawu identyfikatorów OID określa inną wartość indeksu połączenia karty sieciowej. Aby uzyskać więcej informacji na temat tych wartości indeksu, zobacz Wartości indeksu karty sieciowej.

    Rozszerzenie musi zachować stan połączenia dla każdej podstawowej karty fizycznej. Aby uzyskać więcej informacji na temat różnych konfiguracji, w których fizyczne karty sieciowe mogą być powiązane z zewnętrzną kartą sieciową, zobacz Typy konfiguracji fizycznej karty sieciowej.

Aby uzyskać więcej informacji na temat stanów rozszerzalnych portów przełącznika i połączeń kart sieciowych, zobacz Hyper-V Extensible Switch Port and Network Adapter States.

Uwaga Rozszerzenie nie może wystawiać własnych żądań zestawów OID OID_SWITCH_NIC_CREATE.

Kody stanu powrotu

Jeśli rozszerzenie ukończy żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_CREATE, zwraca jeden z następujących kodów stanu.

Kod stanu Opis

NDIS_STATUS_DATA_NOT_ACCEPTED

Rozszerzenie zawetował powiadomienie o utworzeniu.

NDIS_STATUS_RESOURCES

Rozszerzenie zawetował powiadomienie o utworzeniu z powodu niskiego stanu zasobu.

NDIS_STATUS_Xxx

Rozszerzenie zawetował powiadomienie o tworzeniu z innych powodów.

Uwaga Jeśli rozszerzenie ukończy żądanie zestawu identyfikatorów OID, nie może zwrócić NDIS_STATUS_SUCCESS.

Jeśli rozszerzenie nie ukończy żądania zestawu identyfikatora OID OID_SWITCH_NIC_CREATE, żądanie jest wykonywane przez podstawową krawędź miniportu przełącznika rozszerzalnego. Podstawowa krawędź miniportu zwraca następujący kod stanu dla tego żądania zestawu identyfikatorów OID:

Kod stanu Opis

NDIS_STATUS_SUCCESS

Żądanie OID zostało ukończone pomyślnie.

Wymagania

Wersja

Obsługiwane w usłudze NDIS 6.30 i nowszych wersjach.

Nagłówek

Ntddndis.h (m.in. Ndis.h)

Zobacz też


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort