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.
Karta sieciowa obsługująca standardową wirtualizację I/O z jednym rdzeniem (SR-IOV) musi obsługiwać następujące składniki sprzętowe:
Jedna funkcja fizyczna PCI Express (PCIe). PF zawsze istnieje na karcie sieciowej i jest dołączony do partycji nadrzędnej Hyper-V.
Aby uzyskać więcej informacji na temat tego składnika sprzętowego, zobacz SR-IOV funkcja fizyczna (PF).
Jedna lub więcej funkcji wirtualnych PCIe. Każda funkcja wirtualna (VF) musi być zainicjowana i dołączona do partycji podrzędnej Hyper-V, zanim składniki sieciowe systemu operacyjnego gościa będą mogły wysyłać lub odbierać pakiety za pośrednictwem VF.
Aby uzyskać więcej informacji na temat tego składnika sprzętowego, zobacz SR-IOV Virtual Functions (VFs).
Sterownik miniportu PF, który działa w systemie operacyjnym do zarządzania partycją nadrzędną Hyper-V, inicjuje i przydziela zasoby dla VF na karcie sieciowej SR-IOV. Po wywołaniu interfejsu NDIS funkcji Ex miniportu PF miniport sterownik może wysyłać żądania identyfikatora obiektu (OID) do sterownika miniportu PF w celu wykonania następujących czynności:
Utwórz przełącznik karty sieciowej na adapterze sieciowym. Przełącznik karty sieciowej przekazuje ruch sieciowy między funkcjami wirtualnymi (VFs), funkcją fizyczną (PF) oraz fizycznym portem sieciowym.
Aby uzyskać więcej informacji, zobacz przełączniki NIC.
Uwaga Począwszy od systemu Windows Server 2012, interfejs SR-IOV obsługuje tylko jeden przełącznik sieciowy na karcie sieciowej. Ten przełącznik jest znany jako domyślny przełącznik karty sieciowej i jest przywoływany przez identyfikator NDIS_DEFAULT_SWITCH_ID.
Zażądaj sterownika miniportu PF, aby zainicjować i przydzielić zasoby dla VF na karcie sieciowej.
Aby uzyskać więcej informacji, zobacz SR-IOV Virtual Functions (VFs).
Utwórz port wirtualny (VPort) na przełączniku karty sieciowej i dołącz go do programu VF.
Aby uzyskać więcej informacji, zobacz Virtual Ports (VPorts).
Na poniższym diagramie przedstawiono kroki związane z inicjowaniem VF.
NDIS, stos wirtualizacji i sterownik miniport PF wykonują następujące kroki podczas sekwencji inicjowania VF:
Usługa NDIS odczytuje konfigurację domyślnego przełącznika z rejestru i wysyła żądanie metody OID OID_NIC_SWITCH_CREATE_SWITCH, aby skonfigurować przełącznik w karcie sieciowej. Parametry przekazywane w tym żądaniu OID zawierają informacje o sposobie konfigurowania ważnych zasobów sprzętowych, takich jak VFs i VPorts. Zawiera również informacje na temat dystrybucji zasobów między nie-domyślne VPorty i domyślne wirtualne porty przyłączone do PF.
Po pomyślnym zakończeniu obsługiwania identyfikatora OID przez sterownik miniportu PF, przełącznik NIC jest gotowy do utworzenia wirtualnych portów i przydzielenia funkcji wirtualnych (VF).
Aby uzyskać więcej informacji na temat tworzenia przełącznika karty sieciowej, zobacz Tworzenie przełącznika karty sieciowej.
VF jest traktowany jako mechanizm odciążający dla karty sieciowej maszyny wirtualnej (VM). Ten adapter jest dostępny w systemie operacyjnym gościa, który działa w partycji podrzędnej Hyper-V. Domyślnie składniki sieciowe w systemie operacyjnym gościa wysyłają i odbierają pakiety za pośrednictwem syntetycznej ścieżki danych opartej na oprogramowaniu. Jeśli jednak partycja podrzędna jest włączona na potrzeby odciążania VF, stos wirtualizacji wystawia żądania OID do sterownika miniportu PF dla alokacji zasobów i inicjowania VF. Po dołączeniu VF do partycji podrzędnej i VPort na przełączniku karty sieciowej składniki sieciowe wysyłają i odbierają pakiety za pośrednictwem ścieżki danych VF. Aby uzyskać więcej informacji na temat tych ścieżek danych, zobacz SR-IOV Ścieżki danych.
Jeśli dla odciążania VF włączono partycję podrzędną Hyper-V, stos wirtualizacji wysyła żądanie metody OID OID_NIC_SWITCH_ALLOCATE_VF do sterownika miniportu PF. Parametry przekazywane w tym żądaniu OID obejmują identyfikator przełącznika NIC, na którym przydzielono VF. Inne parametry obejmują identyfikatory partycji podrzędnej, do której zostanie dołączony VF.
Sterownik miniportu PF przydziela niezbędne zasoby sprzętowe i programowe dla VF. Sterownik miniportu PF określa również identyfikator żądania PCIe (RID) dla VF, wywołując NdisMGetVirtualFunctionLocation. Identyfikator RID jest używany do mapowania DMA i przerwań, gdy żądania DMA i przerwania są generowane przez VF.
Identyfikator RID wraz z identyfikatorem VF są zwracane przez sterownik miniportu PF po pomyślnym zakończeniu żądania OID_NIC_SWITCH_ALLOCATE_VF.
Aby uzyskać więcej informacji na temat alokacji zasobów dla VF, zobacz przydzielanie zasobów dla funkcji wirtualnej.
Stos wirtualizacji tworzy port VPort na przełączniku karty sieciowej, wydając żądanie metody OID OID_NIC_SWITCH_CREATE_VPORT do sterownika miniportu PF. Parametry przekazywane w tym żądaniu OID obejmują identyfikator przełącznika karty sieciowej, na którym ma zostać utworzony port VPort. Inne parametry obejmują identyfikator VF, do którego zostanie dołączony port VPort.
Uwaga Domyślny VPort na przełączniku karty sieciowej zawsze istnieje i jest dołączony do PF. Można utworzyć i dołączyć do jednego VF tylko jeden port VPort, który nie jest domyślny.
Zanim usługa NDIS przekazuje żądanie OID do sterownika miniportu PF, przydziela prawidłowy identyfikator VPort, który jest unikatowy za pośrednictwem karty sieciowej.
Gdy sterownik miniportu PF obsługuje żądanie OID, przydziela zasoby sprzętowe wymagane dla VPort i zachowuje identyfikator dla VPort. Ten identyfikator jest używany w późniejszych żądaniach OID i wywołaniach funkcji SR-IOV.
Aby uzyskać więcej informacji na temat tworzenia portu VPort, zobacz Tworzenie portu wirtualnego.
Partycja podrzędna Hyper-V może zostać uruchomiona długo przed przydzieleniem VF i VPort. W tym czasie składniki sieciowe w systemie operacyjnym gościa wysyłają i odbierają pakiety za pośrednictwem syntetycznej ścieżki danych. Obejmuje to ruch pakietów przez domyślny VPort dołączony do PF. Aby połączyć ruch z partycją podrzędną, stos wirtualizacji konfiguruje domyślny VPort za pomocą filtrów kontroli dostępu do mediów (MAC) i filtrów wirtualnej sieci LAN (VLAN) dla adaptera sieciowego VM partycji podrzędnej.
Po przydzieleniu zasobów dla VF i VPort, stos wirtualizacji wysyła żądanie metody OID o numerze OID_RECEIVE_FILTER_MOVE_FILTER do sterownika miniportu PF. To żądanie OID przenosi filtry MAC i VLAN dla karty sieciowej maszyny wirtualnej z domyślnego VPortu do VPortu, który jest dołączony do VF. Powoduje to przekazanie pakietów pasujących do tych filtrów do VPort VF za pośrednictwem ścieżki danych VF.
Uwaga Istniejące filtry odbierania można przenieść z domyślnego wirtualnego portu do wirtualnego portu VF przy użyciu OID_RECEIVE_FILTER_MOVE_FILTER. Ponadto nowe filtry można ustawić na VPort VF przy użyciu OID_RECEIVE_FILTER_SET_FILTER.
Po pomyślnym utworzeniu VF i VPort oraz ustawieniu filtrów MAC w VPort, warstwa wirtualizacji powiadamia dostawcę usług Virtual PCI (VPCI) virtual service provider (VSP). Ten dostawca usługi wirtualnej (VSP) działa w systemie operacyjnym zarządzającym partycji nadrzędnej Hyper-V. Powiadomienie informuje dostawcę VSP VPCI, że VF został pomyślnie przydzielony i dołączony do partycji podrzędnej. VSP VPCI wysyła komunikaty za pośrednictwem magistrali maszyny wirtualnej (VMBus) do klienta usługi wirtualnej VPCI (VSC), który działa w systemie operacyjnym gościa partycji podrzędnej. VPCI VSC to sterownik magistrali, który udostępnia urządzenie PCI dla karty sieciowej VF.
Po uwidocznieniu karty sieciowej VF podsystem PnP uruchamiany w systemie operacyjnym gościa wykrywa kartę i ładuje sterownik miniportu VF. Ten sterownik rejestruje się w usłudze NDIS. Po zainicjowaniu sterownika miniportu VF i skonfigurowaniu odpowiednich filtrów pakietów na karcie sieciowej VF ścieżka danych VF jest w pełni operacyjna. W wyniku tego ruch pakietów w systemie operacyjnym gościa został przełączony z syntetycznej ścieżki danych na tę ścieżkę danych.