Przekazywanie pakietów do portów przełącznika rozszerzalnego Hyper-V
Na tej stronie opisano, jak rozszerzenie przekazywania pakietów w rozszerzalnym przełączniku Hyper-V może przekazywać pakiety do jednego lub więcej portów. Ten typ rozszerzenia może również przekazywać pakiety do poszczególnych kart sieciowych podłączonych do zewnętrznej karty sieciowej przełącznika rozszerzalnego.
Uwaga Tylko rozszerzalne rozszerzenie przekazywania przełącznika lub sam przełącznik rozszerzalny może przekazywać pakiety do rozszerzalnych portów przełącznika.
Uwaga Ta strona zakłada, że znasz informacje i diagramy w Omówienie rozszerzalnego przełącznika Hyper-V i funkcji przekazywania hybrydowego.
Uwaga W interfejsie rozszerzalnego przełącznika sterowniki filtrów NDIS są znane jako rozszerzenia przełącznika rozszerzalnego , a stos sterowników jest znany jako rozszerzalny stos sterowników przełącznika. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Extensible Switch Extensions Hyper-V.
Jeśli rozszerzenie przekazujące jest zainstalowane i włączone w rozszerzalnym stosie sterowników przełącznika, jest odpowiedzialne za podejmowanie decyzji dotyczących przesyłania każdego pakietu, który uzyskuje na ścieżce danych przychodzących w rozszerzalnym przełączniku. Na podstawie tych decyzji przekazywania, rozszerzenie dodaje porty docelowe do tablicy portów docelowych w strukturze danych poza pasmem (OOB) pakietu NET_BUFFER_LIST. Po zakończeniu procesu przekazywania pakietu przez ścieżkę danych przełącznika rozszerzalnego, interfejs przełącznika rozszerzalnego dostarcza pakiet do określonych portów docelowych.
Uwaga Jeśli rozszerzenie przekazywania nie jest zainstalowane lub włączone, rozszerzalny przełącznik podejmuje decyzje dotyczące przekazywania pakietów, które uzyskuje ze ścieżki danych przychodzących. Przełącznik dodaje porty docelowe do danych OOB struktury NET_BUFFER_LIST pakietu, zanim przekaże pakiet w górę rozszerzalnej ścieżki danych wyjściowych przełącznika.
Uwaga Jeśli pakiet jest pakietem NVGRE, rozszerzenie przekazujące może dodać porty docelowe do tablicy portów docelowych. Jednak składnik wirtualizacji sieci Hyper-V (HNV) przełącznika rozszerzalnego jest odpowiedzialny za określenie portów docelowych i przekazanie pakietu. Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.
Rozszerzenie przekazywania może dodawać docelowe porty tylko do pakietów uzyskanych ze ścieżki danych wejściowych. Po przesłaniu pakietu wzdłuż ścieżki danych ruchu wychodzącego, rozszerzenia filtrowania i przekazywania mogą wykluczyć dostarczanie pakietów do rozszerzalnych portów przełącznika. Aby uzyskać więcej informacji, zobacz Wykluczanie dostarczania pakietów do rozszerzalnych portów docelowych przełącznika.
W strukturze danych OOB pakietu NET_BUFFER_LIST, dane dotyczące portów docelowych znajdują się w strukturze NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Każdy element w tablicy definiuje port docelowy i jest sformatowany jako struktura NDIS_SWITCH_PORT_DESTINATION.
Moduł przekazywania może wywoływać następujące funkcje obsługi dla przełącznika rozszerzalnego Hyper-V w celu zarządzania strukturą NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY oraz jego elementami NDIS_SWITCH_PORT_DESTINATION:
AddNetBufferListDestination
Ta funkcja dodaje pojedynczy port docelowy do struktury NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY danych OOB pakietu.
GetNetBufferListDestinations
Ta funkcja zwraca wskaźnik do struktury NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY w danych OOB pakietu.
RozszerzListęLokalizacjiNetBuffer
Ta funkcja dodaje więcej elementów portów docelowych do struktury NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY danych OOB pakietu.
UpdateNetBufferListDestinations
Ta funkcja zatwierdza modyfikacje wprowadzone przez rozszerzenie w celu dodania lub wykluczenia jednego lub większej liczby portów docelowych dla pakietu. Te zmiany są zatwierdzane w strukturze NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY w danych OOB pakietu.
Gdy wywoływana jest funkcja rozszerzenia FilterSendNetBufferLists, parametr NetBufferList zawiera wskaźnik do połączonej listy struktur NET_BUFFER_LIST. Każda z tych struktur określa pakiet uzyskany ze ścieżki danych przychodzących.
Dla każdej struktury NET_BUFFER_LIST na tej liście rozszerzenie przekazujące dodaje porty docelowe dla pakietu, wykonując następujące kroki:
Rozszerzenie podejmuje decyzje dotyczące przekazywania pakietów na podstawie różnych typów kryteriów. Te kryteria obejmują następujące elementy:
Kryteria polityki oparte na porcie źródłowym pakietu i połączeniu karty sieciowej. Rozszerzenie przekazywania uzyskuje te informacje przy użyciu makra NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL.
Kryteria polityki dla rozszerzalnego portu przełącznika na podstawie zawartości pakietu. Na przykład zasady dla rozszerzalnego portu przełącznika mogą zawierać filtr umożliwiający dostarczanie tylko pakietów IP w wersji 4 (IPv4).
Uwaga Jeśli pakiet jest pakietem NVGRE, składnik HNV przełącznika rozszerzalnego jest odpowiedzialny za przekazywanie pakietu. Rozszerzenie przekazujące może jednak zastosować własne kryteria polityki w ścieżkach ruchu przychodzącego i wychodzącego. Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.
Jeśli rozszerzenie ustali, że pakiet może być przekazywany do jednego lub większej liczby rozszerzalnych portów przełącznika, musi dodać porty docelowe do danych OOB pakietu. Aby uzyskać więcej informacji na temat tej procedury, zobacz Dodawanie rozszerzalnych danych portów docelowych przełącznika do pakietu.
Uwaga Jeśli pakiet jest pakietem NVGRE, rozszerzenie przekazywania nie jest wymagane do dodawania portów docelowych. Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.
Jeśli rozszerzenie ustali, że pakiet nie może być przekazywany do dowolnego rozszerzalnego portu przełącznika, musi on usunąć pakiet.
Uwaga To nieprawda, jeśli pakiet jest pakietem NVGRE. Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.
Jeśli rozszerzenie dodało co najmniej jeden port docelowy pakietu, musi wywołać NdisFSendNetBufferLists, aby przekazać pakiet do ścieżki danych wychodzących.
Uwaga Jeśli pakiet jest pakietem NVGRE, składnik HNV przełącznika rozszerzalnego jest odpowiedzialny za przekazywanie pakietu. Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.
Aby uzyskać więcej informacji na temat ścieżek danych przychodzących i wychodzących rozszerzalnego przełącznika, zobacz Ścieżka danych rozszerzalnego przełącznika Hyper-V.