Udostępnij przez


Przydzielanie zasobów dla funkcji wirtualnej

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 (PF) PCI Express (PCIe). PF zawsze istnieje na adapterze sieciowym i jest dołączony do nadrzędnej partycji 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żdy VF musi być zainicjowany i dołączony do partycji podrzędnej Hyper-V, zanim składniki sieciowe systemu operacyjnego gościa będą mogły wysyłać lub odbierać pakiety przez 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 zarządzającym partycją nadrzędną Hyper-V, przydziela zasoby dla PF i każdej VF na adapterze sieciowym SR-IOV. Ten sterownik przydziela zasoby dla funkcji fizycznej, tak jak w przypadku każdego adaptera sieciowego. Sterownik przydziela jednak zasoby dla każdej maszyny wirtualnej w następujący sposób:

  • Sterownik miniportu PF przydziela zasoby sprzętowe dla każdej funkcji wirtualnej (VF), gdy sterownik tworzy kartę interfejsu sieciowego na adapterze sieciowym. Sterownik kończy alokację zasobów sprzętowych dla funkcji wirtualnych poprzez wywołanie NdisMEnableVirtualization. Aby uzyskać więcej informacji na temat tego procesu, zobacz Tworzenie przełącznika karty sieciowej.

  • Sterownik miniportu PF przydziela zasoby programowe dla VF, gdy obsługuje żądanie metody identyfikatora obiektu (OID) OID_NIC_SWITCH_ALLOCATE_VF. Mimo że zasoby sprzętowe zostały przydzielone dla VF, jest on uznawany za nieoperacyjny, dopóki sterownik miniportu PF nie ukończy pomyślnie procesu OID_NIC_SWITCH_ALLOCATE_VF.

Nadmierny sterownik może zażądać alokacji zasobów oprogramowania dla VF, wydając żądanie metody OID OID_NIC_SWITCH_ALLOCATE_VF. Członek InformationBuffer struktury NDIS_OID_REQUEST dla żądania OID zawiera wskaźnik do struktury NDIS_NIC_SWITCH_VF_PARAMETERS.

Po pomyślnym wykonaniu żądania OID pole InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do struktury NDIS_NIC_SWITCH_VF_PARAMETERS. Ta struktura ma unikatowy identyfikator VF adaptera i identyfikator PCI Requestor (RID). Te identyfikatory są używane w następujący sposób:

  • Sterownik overlying używa identyfikatora VF w akcjach związanych z VF, takich jak następujące:

  • Identyfikator RID jest używany przez stos wirtualizacji do ponownego mapowania DMA i przerwań między PF i VF. Identyfikator RID umożliwia również sprzętową jednostkę zarządzania pamięcią wejściową/wyjściową (IOMMU) w celu przekonwertowania adresów fizycznych gościa na adresy fizyczne hosta.

Aby uzyskać więcej informacji na temat tego, jak problemy wynikające z nadpisującego sterownika wpływają na żądania metodą OID_NIC_SWITCH_ALLOCATE_VF, zobacz Wystawianie żądań OID_NIC_SWITCH_ALLOCATE_VF.

Aby uzyskać więcej informacji na temat obsługi żądań metody OID_NIC_SWITCH_ALLOCATE_VF przez sterownik miniportu PF, zobacz Obsługa żądań OID_NIC_SWITCH_ALLOCATE_VF.

Nuta Po przydzieleniu zasobów dla VF za pośrednictwem żądania metody OID OID_NIC_SWITCH_ALLOCATE_VF nie można dynamicznie zmieniać parametrów zasobów dla VF.