Udostępnij przez


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

Nadmierny sterownik wystawia żądanie zestawu identyfikatora obiektu (OID) OID_SRIOV_WRITE_VF_CONFIG_BLOCK zapisywania danych w bloku konfiguracji funkcji wirtualnej PCI Express (PCIe).

Nadmierne sterowniki wydają ten sterownik OID ustawiony na miniport sterownika dla funkcji fizycznej PCIe karty sieciowej (PF). To żądanie metody identyfikatora OID jest wymagane dla sterowników miniportu PF, które obsługują interfejs wirtualizacji we/wy pojedynczego głównego (SR-IOV).

Element członkowski InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do buforu przydzielonego przez obiekt wywołujący. Ten bufor jest sformatowany tak, aby zawierał następujące elementy:

  • Struktura NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS zawierająca przesunięcie w jednostkach bajtów od początku tej struktury do lokalizacji w buforze zawierającym dane zapisywane w bloku konfiguracji VF.

  • Dodatkowe miejsce buforu dla danych, które mają być zapisywane w określonym bloku konfiguracji VF.

Uwagi

Blok konfiguracji VF jest używany do komunikacji backchannel między sterownikami PF i VF miniport. IHV może zdefiniować jeden lub więcej bloków konfiguracji VF dla sterowników miniportu. Każdy blok konfiguracji VF ma zdefiniowany format, długość i identyfikator bloku IHV.

Uwaga Dane z każdego bloku konfiguracji VF są używane tylko przez sterowniki PF i VF miniport.

Przed przekazaniem żądania zestawu identyfikatorów OID OID_SRIOV_WRITE_VF_CONFIG_BLOCK, nadmierny sterownik musi ustawić elementy członkowskie struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS w następujący sposób:

  • Ustaw element członkowski VFId na identyfikator VF, dla którego mają zostać zapisane informacje.

  • Ustaw element członkowski BlockId na identyfikator bloku konfiguracji, z którego mają być zapisywane informacje.

  • Ustaw element członkowski długości na liczbę bajtów do zapisu w bloku konfiguracji programu VF.

  • Ustaw element członkowski BufferOffset na przesunięcie w ramach buforu (odwołuje się element członkowski informationBuffer), który zawiera dane, które mają zostać zapisane z określonego bloku konfiguracji programu VF. To przesunięcie jest określane w jednostkach bajtów od początku struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS.

Gdy obsługuje żądanie zestawu identyfikatorów OID OID_SRIOV_WRITE_VF_CONFIG_BLOCK, sterownik miniportu PF musi postępować zgodnie z następującymi wytycznymi:

  • Sterownik miniportu PF musi sprawdzić, czy VF, określony przez VFId elementu członkowskiego struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, ma zasoby, które zostały wcześniej przydzielone. Sterownik miniportu PF przydziela zasoby dla VF podczas żądania metody OID OID_NIC_SWITCH_ALLOCATE_VF. Jeśli zasoby dla określonego VF nie zostały przydzielone, sterownik musi zakończyć się niepowodzeniem żądania identyfikatora OID.

  • Sterownik miniportu PF musi sprawdzić, czy element BlockId struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS określa prawidłowy blok konfiguracji VF. Jeśli nie, sterownik musi zakończyć się niepowodzeniem żądania identyfikatora OID.

Aby uzyskać więcej informacji na temat komunikacji zaplecza w ramach interfejsu wirtualizacji we/wy pojedynczego katalogu głównego (SR-IOV), zobacz SR-IOV PF/VF Backchannel Communication.

Kody stanu powrotu

Sterownik miniportu zwraca jeden z następujących kodów stanu dla żądania zestawu identyfikatorów OID OID_SRIOV_WRITE_VF_CONFIG_BLOCK:

Kod stanu Opis

NDIS_STATUS_SUCCESS

Żądanie OID zostało ukończone pomyślnie.

NDIS_STATUS_NOT_SUPPORTED

Sterownik miniportu nie obsługuje interfejsu wirtualizacji we/wy pojedynczego katalogu głównego (SR-IOV) lub nie jest włączony do korzystania z interfejsu.

NDIS_STATUS_INVALID_PARAMETER

Co najmniej jeden z elementów członkowskich struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS ma nieprawidłowe wartości.

NDIS_STATUS_INVALID_LENGTH

Bufor informacyjny był zbyt krótki. Usługa NDIS ustawia DATA. SET_INFORMATION. BajtyNowe składowe w strukturze NDIS_OID_REQUEST do minimalnego wymaganego rozmiaru buforu.

NDIS_STATUS_FAILURE

Żądanie nie powiodło się z innych powodów.

Wymagania

Wersja

Obsługiwane w usłudze NDIS 6.30 i nowszych wersjach.

Nagłówek

Ntddndis.h (m.in. Ndis.h)

Zobacz też


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE