Udostępnij przez


Zarządzanie kontekstem przesyłania przełącznika rozszerzalnego Hyper-V

Uwaga Ta strona zakłada, że znasz informacje i diagramy z Przeglądu rozszerzalnego przełącznika Hyper-V oraz Przesyłania hybrydowego.

Struktura NET_BUFFER_LIST dla każdego pakietu przechodzącego przez Hyper-V rozszerzalną ścieżkę danych przełącznika zawiera dane poza pasmem (OOB). Te dane określają port źródłowy, z którego pochodzi pakiet, a także co najmniej jeden port docelowy do dostarczania pakietów. Dane OOB są znane jako kontekst przekazywania rozszerzalnego przełącznika.

Uwaga Kontekst przekazywania w ramach rozszerzalnego przełącznika różni się od struktury NET_BUFFER_LIST_CONTEXT. Dzięki temu rozszerzenia mogą przydzielać własne struktury kontekstowe bez wpływu na kontekst przekazywania.

Rozszerzalny kontekst przekazywania przełącznika jest przydzielany i zwalniany w następujący sposób:

Wszystkie rozszerzalne rozszerzenia przełącznika mogą wywoływać następujące rozszerzalne funkcje obsługi przełączników w celu uzyskania dostępu do danych w kontekście przekazywania pakietu:

AllocateNetBufferListForwardingContext
Przydziela kontekst przekazywania przełącznika rozszerzalnego i przygotowuje strukturę NET_BUFFER_LIST do operacji wysyłania lub odbierania w obrębie przełącznika rozszerzalnego.

CopyNetBufferListInfo
Kopiuje kontekst przekazywania ze struktury NET_BUFFER_LIST pakietu źródłowego do struktury NET_BUFFER_LIST pakietu docelowego. Te dane obejmują rozszerzalny port źródłowy przełącznika i informacje o karcie sieciowej. Rozszerzalne informacje o porcie docelowym przełącznika można również skopiować do pakietu docelowego.

FreeNetBufferListForwardingContext
Zwalnia zasoby w kontekście przekazywania rozszerzalnego przełącznika struktury NET_BUFFER_LIST. Te dane były używane do operacji wysyłania lub odbierania w przełączniku rozszerzalnym Hyper-V i zostały wcześniej przydzielone przez wywołanie funkcji AllocateNetBufferListForwardingContext.

GetNetBufferListDestinations
Zwraca porty docelowe z kontekstu przekazywania struktury NET_BUFFER_LIST pakietu.

Rozszerzenie przekazujące jest odpowiedzialne za dodawanie portów docelowych dla pakietu, chyba że pakiet jest pakietem NVGRE. (Aby uzyskać więcej informacji, zobacz przekazywanie hybrydowe.) Rozszerzenie wywołuje następujące funkcje obsługi rozszerzalnego przełącznika, aby dodać lub zaktualizować porty docelowe w kontekście przekazywania pakietu:

AddNetBufferListDestination
Dodaje jedno miejsce docelowe do rozszerzalnego obszaru kontekstowego przekazywania przełącznika dla pakietu określonego przez strukturę NET_BUFFER_LIST.

Uwaga To wywołanie zatwierdza zmianę obszaru kontekstu przekazywania. W takim przypadku rozszerzenie przekazujące nie musi wywoływać UpdateNetBufferListDestinations.

GrowNetBufferListDestinations
Zwiększa rozmiar tablicy portów docelowych w obszarze kontekstu przekazywania struktury NET_BUFFER_LIST pakietu.

UpdateNetBufferListDestinations
Zatwierdza modyfikacje rozszerzenia wprowadzone do jednego lub większej liczby rozszerzalnych portów docelowych przełącznika pakietu. Ta funkcja aktualizuje kontekst przekazywania struktury NET_BUFFER_LIST pakietu przy użyciu tych zmian.

Uwaga Po zatwierdzeniu zmian w kontekście przekazywania dla portów docelowych, porty docelowe nie mogą być usunięte, a jedynie członek IsExcluded w strukturze NDIS_SWITCH_PORT_DESTINATION portu docelowego może być zmieniony. Aby uzyskać więcej informacji, zobacz Wykluczanie dostarczania pakietów do portów docelowych przełącznika rozszerzalnego.

Hyper-V kontekst routingu przełącznika rozszerzalnego

Typy danych kontekstowych przekazywania w Hyper-V Extensible Switch