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.
Port wirtualny (VPort) to obiekt danych, który reprezentuje port wewnętrzny na przełączniku karty sieciowej obsługującej jednoźródłową wirtualizację I/O (SR-IOV). Każdy przełącznik karty sieciowej ma następujące porty dla łączności sieciowej:
Jeden zewnętrzny port fizyczny na potrzeby łączności z zewnętrzną siecią fizyczną.
Co najmniej jeden wewnętrzny port wirtualny (VPort) połączony z fizyczną funkcją PCI Express (PCIe) (PF) lub funkcjami wirtualnymi (VF).
PF jest dołączony do partycji nadrzędnej Hyper-V i jest uwidoczniony jako wirtualny adapter sieciowy w systemie operacyjnym do zarządzania, który działa w tej partycji.
VF jest dołączony do partycji podrzędnej Hyper-V i jest uwidoczniony jako wirtualna karta sieciowa w systemie operacyjnym gościa, który działa w tej partycji.
Istnieją dwa typy portów wirtualnych:
Domyślne wirtualneporty
Domyślny port VPort zapewnia łączność sieciową ze składnikami sieciowymi działającymi w systemie operacyjnym zarządzania. Domyślny port VPort ma identyfikator NDIS_DEFAULT_VPORT_ID.
Gdy sterownik miniportu PF tworzy i konfiguruje domyślny przełącznik karty sieciowej, sterownik niejawnie tworzy domyślny port VPort i dołącza go do PF. Domyślnego portu wirtualnego nie można dołączyć do VF.
Domyślny port VPort jest zawsze w stanie aktywowanym i nie można go jawnie usunąć. Sterownik miniportu PF niejawnie usuwa domyślny port VPort tylko wtedy, gdy usuwa domyślny przełącznik karty sieciowej.
Aby uzyskać więcej informacji na temat tworzenia przełącznika karty sieciowej i domyślnego wirtualnego portu na przełączniku, zobacz Tworzenie przełącznika karty sieciowej.
Niedomyślny VPort
Niezdefiniowane VPorty nie są tworzone automatycznie przy tworzeniu przełącznika NIC. Nadrzędny sterownik, taki jak stos wirtualizacji, jawnie tworzy te porty poprzez wydawanie żądań metody OID OID_NIC_SWITCH_CREATE_VPORT. Niezdefiniowane VPorty mogą być dołączone do PF lub VF i można je utworzyć tylko po utworzeniu przełącznika NIC.
Niestandardowy port VPort dołączony do VF zapewnia łączność sieciową ze składnikami sieciowymi działającymi w systemie operacyjnym gościa. Po utworzeniu i dołączeniu do VF niestandardowy VPort jest aktywowany.
Niepodstawowy VPort dołączony do PF umożliwia dodatkowe funkcje odciążania sieciowego dla składników sieciowych, które działają w systemie operacyjnym zarządzania. Na przykład niestandardowe VPorty na PF mogą być używane do umożliwienia odciążania podobnego do kolejki maszyn wirtualnych (VMQ).
Uwaga Niestandardowe VPorty można utworzyć tylko po utworzeniu przełącznika NIC.
Sterownik nadrzędny wystawia żądanie metody identyfikatora obiektu (OID) OID_NIC_SWITCH_CREATE_VPORT w celu utworzenia innego niż domyślny VPort na określonym przełączniku karty sieciowej. Żądanie identyfikatora OID dołącza również utworzony VPort do karty sieciowej PF lub wcześniej przydzielonej VF.
Element członkowski InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do strukturyNDIS_NIC_SWITCH_VPORT_PARAMETERS . Po pomyślnym powrocie z żądania OID_NIC_SWITCH_CREATE_VPORT element członkowski VPortId struktury NDIS_NIC_SWITCH_VPORT_PARAMETERS ma unikatowy identyfikator VPorts w przełączniku karty sieciowej.
Nadrzędny sterownik inicjuje strukturę NDIS_NIC_SWITCH_VPORT_PARAMETERS z informacjami o konfiguracji dotyczącej niedomyślnego VPortu do utworzenia. pl-PL: Informacje o konfiguracji obejmują funkcję PCIe, do której jest dołączony nienatywny VPort, oraz liczbę par kolejek dla tego nienatywnego VPort-u.
Gdy inicjuje strukturę NDIS_NIC_SWITCH_VPORT_PARAMETERS, nadrzędny sterownik musi wykonać następujące czynności:
Członek SwitchId musi być ustawiony na identyfikator przełącznika NIC, który został wcześniej utworzony na karcie sieciowej poprzez żądanie metody OID OID_NIC_SWITCH_CREATE_SWITCH.
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 nazywany domyślnym przełącznikiem karty sieciowej . Podczas tworzenia VPorta innego niż domyślny, sterownik nadrzędny musi ustawić człon SwitchId na identyfikator NDIS_DEFAULT_SWITCH_ID.
Element VPortId musi być ustawiony na NDIS_DEFAULT_VPORT_ID.
Element członkowski AttachedFunctionId musi być ustawiony na identyfikator VF lub PF, na którym ma zostać dołączony nondefault VPort.
Wartość NDIS_PF_FUNCTION_ID określa PF. W przeciwnym razie wartość musi być ustawiona na identyfikator VF, którego zasoby zostały wcześniej przydzielone za pośrednictwem żądania metody OID o nazwie OID_NIC_SWITCH_ALLOCATE_VF.
Uwaga Załącznik nie domyślnego VPortu do VF lub PF nie może być zmieniony po utworzeniu tego nie domyślnego VPortu.
Sterownik nadrzędny może również określić liczbę par kolejek przypisanych do VPort. Para kolejek to kolejka transmisji i odbierania na karcie sieciowej, która jest przypisana do VPort. Jeśli karta sieciowa obsługuje asymetryczne pary kolejek dla niestandardowych VPortów, sterownik nadrzędny może ustalić inną liczbę par kolejek dla każdego VPortu tworzonego przez sterownik. Aby uzyskać więcej informacji, zobacz Symetryczne i Asymetryczne przypisywanie par kolejek.
Sterownik nadrzędny wywołuje NdisOidRequest, aby wysłać żądanie OID_NIC_SWITCH_CREATE_VPORT do bazowego sterownika miniport PF. Zanim usługa NDIS przekazuje żądanie metody OID do sterownika miniportu, wykonuje następujące czynności:
Usługa NDIS weryfikuje parametry w strukturze NDIS_NIC_SWITCH_VPORT_PARAMETERS. Jeśli parametry są nieprawidłowe, NDIS odrzuca żądanie metody OID i nie przekazuje go do sterownika miniportu PF.
NDIS przypisuje identyfikator niedomyślnemu VPort w zakresie od jednego do (NumVPorts– 1), gdzie NumVPorts jest liczbą wirtualnych portów skonfigurowanych przez sterownik miniportu na karcie sieciowej. Sterownik określa tę liczbę w elemencie NumVPorts struktury NDIS_NIC_SWITCH_INFO. Sterownik zwraca tę strukturę za pośrednictwem żądania zapytania OID OID_NIC_SWITCH_ENUM_SWITCHES.
Uwaga Identyfikator VPort o nazwie NDIS_DEFAULT_VPORT_ID jest zarezerwowany dla domyślnego VPortu, który jest dołączony do PF na domyślnym przełączniku sieciowym.
Przypisany identyfikator VPort jednoznacznie identyfikuje domyślny VPort na przełączniku karty sieciowej adaptera sieciowego.
- NDIS ustawia element członkowski VPortId struktury NDIS_NIC_SWITCH_VPORT_PARAMETERS z przypisanym identyfikatorem VPort.
Gdy sterownik miniportu PF otrzymuje żądanie OID, przydziela zasoby sprzętowe i programowe skojarzone z określonym niedomyślnym VPortem. Po pomyślnym przydzieleniu wszystkich zasobów sterownik miniport PF pomyślnie ukończy identyfikator OID, zwracając NDIS_STATUS_SUCCESS z MiniportOidRequest.
Jeśli żądanie OID_NIC_SWITCH_CREATE_VPORT zostanie ukończone pomyślnie, sterownik miniportu PF i sterownik nadrzędny muszą zachować wartość VPortId niebędącego domyślnym VPort dla kolejnych operacji. Wartość VPortId jest używana podczas tych operacji:
NDIS i sterowniki nadrzędne używają wartości VPortId, aby zidentyfikować inny niż domyślny VPort w kolejnych żądaniach OID związanych z tym VPortem, takich jak OID_NIC_SWITCH_VPORT_PARAMETERS i OID_NIC_SWITCH_DELETE_VPORT.
Podczas operacji wysyłania NDIS określa wartość VPortId, aby zidentyfikować port VPort, z którego wysłano pakiet. Ta wartość jest określana w obrębie danych poza pasmem (OOB) NDIS_NET_BUFFER_LIST_FILTERING_INFO struktury NET_BUFFER_LIST.
Podczas operacji odbierania sterownik miniportu PF określa VPortId wartość, do której ma być przekazywany pakiet. Ta wartość jest również określona w danych OOB NDIS_NET_BUFFER_LIST_FILTERING_INFO struktury NET_BUFFER_LIST.
Następujące kwestie dotyczą tworzenia niezdefinicyjnych portów wirtualnych:
Filtry odbierania dla identyfikatorów kontroli dostępu do multimediów (MAC) i wirtualnych sieci LAN (VLAN) są konfigurowane w programie VPort po jego utworzeniu. Nadrzędne sterowniki dynamicznie ustawiają te filtry odbierania poprzez zgłaszanie żądań metody OID OID_RECEIVE_FILTER_SET_FILTER. Filtry odbierania można również przenosić z jednego VPortu do innego poprzez żądania ustawienia OID OID_RECEIVE_FILTER_MOVE_FILTER.
Niezdefiniowany port VPort dołączony do VF jest w stanie aktywowanym po jego utworzeniu. Nie można dezaktywować dysku VPort, jeśli jest on dołączony do programu VF.
Niestandardowy VPort dołączony do PF jest w stanie dezaktywacji w momencie jego utworzenia. Sterownik nadrzędny, taki jak rozszerzalny moduł przełącznika Hyper-V, jawnie aktywuje nienależący do domyślnych VPort dołączony do PF po jego pomyślnym utworzeniu. Odbywa się to przez wysłanie żądania metody OID OID_NIC_SWITCH_VPORT_PARAMETERS do sterownika miniport PF.
Gdy nadrzędny sterownik wydaje żądanie OID, przekazuje strukturę NDIS_NIC_SWITCH_VPORT_PARAMETERS z elementem członkowskim VPortState ustawionym na NdisNicSwitchVPortStateActivated.
Gdy port VPort niezdefiniowany jest w stanie aktywowanym, sterownik miniportu PF może przydzielić pamięć współdzieloną dla programu VPort, wywołując polecenie NdisAllocateSharedMemory. Sterownik musi ustawić człon VPortId w strukturze NDIS_SHARED_MEMORY_PARAMETERS na wartość identyfikatora VPort.
Nuta Gdy niezdefiniowany port VPort jest w stanie aktywowanym, jest ustawiony tylko na stan dezaktywowany, gdy jest usuwany za pośrednictwem żądania zestawu identyfikatorów OID OID_NIC_SWITCH_DELETE_VPORT.