Udostępnij za pośrednictwem


Porty wirtualne (VPorts)

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 połączony z funkcją fizyczną PCI Express (PF) lub funkcjami wirtualnymi (VFs).

    • PF jest przypisany do partycji nadrzędnej Hyper-V i jest przedstawiany jako wirtualna karta sieciowa w systemie operacyjnym 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.

Przełącznik interfejsu sieciowego przekierowuje ruch sieciowy z portu fizycznego do jednego lub więcej VPortów. Zapewnia to zwirtualizowany dostęp do bazowego fizycznego interfejsu sieciowego.

Każdy port VPort ma unikatowy identyfikator (VPortId), który jest unikatowy dla przełącznika sieciowego na karcie sieciowej. Domyślny port VPort zawsze istnieje na domyślnym przełączniku karty sieciowej i nigdy nie można go usunąć. Domyślny VPort ma identyfikator VPortId NDIS_DEFAULT_VPORT_ID.

Gdy sterownik miniportu PF obsługuje żądanie metody identyfikatora obiektu (OID) OID_NIC_SWITCH_CREATE_SWITCH, tworzy przełącznik karty sieciowej i domyślny VPort dla niego. Domyślny port VPort jest zawsze podłączony do PF i jest zawsze w stanie operacyjnym.

Niestandardowe VPorty są tworzone poprzez metodę typu OID OID_NIC_SWITCH_CREATE_VPORT. Tylko jeden VPort inny niż domyślny może być dołączony do VF. Po dołączeniu ustawienie domyślne przechodzi w stan operacyjny. Co najmniej jeden niezdefinicyjny port VPort można również utworzyć i dołączyć do pf. Te VPorty są nieoperacyjne podczas tworzenia i mogą stać się operacyjne przez ustawienie OID na i OID_NIC_SWITCH_VPORT_PARAMETERS.

Notatka

Gdy serwer VPort stanie się operacyjny, może stać się nieoperacyjny tylko wtedy, gdy zostanie usunięty za pośrednictwem żądania identyfikatora OID OID_NIC_SWITCH_DELETE_VPORT.

Każdy port VPort ma co najmniej jedną parę kolejek sprzętowych skojarzonych z nim do odbierania i wysyłania pakietów. Domyślna para kolejek na karcie sieciowej jest zarezerwowana do użytku przez domyślny VPort. Pary kolejek dla niezdefiniowanych wirtualnychportów są przydzielane i przypisywane podczas tworzenia wirtualnegoportu za pośrednictwem żądania OID_NIC_SWITCH_CREATE_VPORT.

Nie domyślne VPort są tworzone i konfigurowane za pomocą żądań metod przez OID OID_NIC_SWITCH_CREATE_VPORT. Domyślne VPorty i niedomyślne VPorty są ponownie konfigurowane za pomocą żądań zestawów OID OID_NIC_SWITCH_VPORT_PARAMETERS. Każde żądanie OID zawiera strukturę NDIS_NIC_SWITCH_VPORT_PARAMETERS, która określa następujące parametry konfiguracji:

  • Funkcja PCIe, do której jest dołączony port VPort.

    Każdy VPort można dołączyć do PF lub VF w dowolnym momencie. Po utworzeniu i dołączeniu elementu VPort do funkcji PCIe nie można dynamicznie zmienić załącznika na inną funkcję PCIe.

    Notatka

    Domyślny port VPort jest zawsze przypisany do PF na karcie sieciowej.

    Począwszy od NDIS 6.30 w systemie Windows Server 2012, tylko jeden VPort inny niż domyślny może być dołączony do VF. Jednak wiele niestandardowych VPortów wraz z domyślnym VPortem można dołączyć do PF.

  • Liczba par kolejek sprzętowych przypisanych do portu VPort.

    Każdy port wirtualny ma zestaw dostępnych dla niego par kolejek sprzętowych. Każda para kolejek składa się z oddzielnej kolejki nadawczej i odbiorczej na karcie sieciowej.

    Pary kolejek są ograniczonymi zasobami na karcie sieciowej. Całkowita liczba par kolejek zarezerwowanych do użycia przez domyślne i niestandardowe VPorty jest określana podczas tworzenia przełącznika w karcie sieciowej. Dzięki temu liczba par kolejek przypisanych do domyślnego portu VPort różni się od niezdefiniowanych portów VPort.

    Każdy niezdefinicyjny port VPort można skonfigurować tak, aby miał inną liczbę par kolejek. Jest to nazywane asymetryczną alokacją par kolejek. Jeśli karta sieciowa nie zezwala na taką alokację asymetryczną, każda niezdefiniowana sieć VPort jest skonfigurowana tak samo, aby miała taką samą liczbę par kolejek. Jest to nazywane alokacją symetryczną par kolejek. Aby uzyskać więcej informacji, zobacz Symetryczne i Asymetryczne przypisywanie par kolejek.

    Notatka

    Sterownik miniportu PF zgłasza, czy obsługuje asymetryczną alokację par kolejek podczas MiniportInitializeEx. Aby uzyskać więcej informacji, zobacz Inicjowanie sterownika PF Miniport Driver.

    Liczba par kolejek przypisanych do każdego portu VPort nie jest zmieniana dynamicznie. Nie można zmienić liczby par kolejek przypisanych do portu VPort po utworzeniu portu VPort.

    Notatka

    Co najmniej jedna para kolejek przypisana do niezdefiniowanych portów VPorts może służyć do skalowania po stronie odbierającej (RSS) przez sterownik miniportU VF uruchamiany w systemie operacyjnym gościa.

  • Parametry moderowania przerwań dla programu VPort.

    Dla różnych portów wirtualnych można określić różne typy moderowania przerwań. Dzięki temu stos wirtualizacji może kontrolować liczbę przerwań generowanych przez określony port VPort.

Oprócz parametrów konfiguracji, nadrzędne sterowniki mogą konfigurować filtry odbiorcze dla każdego VPortu, przez wydawanie żądań metod OID OID_RECEIVE_FILTER_SET_FILTER. Przełącznik karty sieciowej wykonuje określone filtrowanie odbierania na platformie VPort.

Parametry filtru odbierania dla wirtualnych portów obejmują warunki filtrowania pakietów, takie jak lista adresów kontroli dostępu do multimediów (MAC) i identyfikatorów wirtualnej sieci LAN (VLAN). Filtry adresów MAC i identyfikatorów sieci VLAN są zawsze określane razem w NDIS_RECEIVE_FILTER_PARAMETERS, które są powiązane z żądaniem OID_RECEIVE_FILTER_SET_FILTER. Przełącznik sieciowy musi filtrować pakiety przychodzące do przełącznika, którego docelowy adres MAC i identyfikator sieci VLAN odpowiadają którymkolwiek warunkom filtru odbioru ustawionym na VPort. Przełącznik karty sieciowej filtruje pakiety odebrane z innego portu VPort lub zewnętrznego portu fizycznego. Jeśli pakiet jest zgodny z filtrem, przełącznik karty sieciowej musi przekazać go do VPort.

Na serwerze VPort można ustawić wiele par adresów MAC i identyfikatorów sieci VLAN. Jeśli ustawiono tylko adres MAC, filtr odbierania określa, że VPort powinien odbierać pakiety zgodne z następującymi warunkami:

  • Docelowy adres MAC pakietu jest zgodny z adresem MAC filtru.

  • Pakiet ma tag sieci VLAN lub (jeśli istnieje tag sieci VLAN) identyfikator sieci VLAN o wartości zero.

Niestandardowe VPorty są usuwane za pomocą żądań ustawienia OID OID_NIC_SWITCH_DELETE_VPORT. Domyślny port VPort jest usuwany tylko wtedy, gdy przełącznik karty sieciowej jest usuwany poprzez żądanie ustawienia OID OID_NIC_SWITCH_DELETE_SWITCH.