NIC 스위치의 매개 변수 설정
지나치게 많은 드라이버는 SR-IOV(단일 루트 I/O 가상화)를 지원하는 네트워크 어댑터에서 만든 NIC 스위치에 대한 매개 변수를 변경할 수 있습니다. 드라이버는 이러한 매개 변수를 변경하기 위해 OID_NIC_SWITCH_PARAMETERS OID(개체 식별자) 집합 요청을 발급합니다. SR-IOV 어댑터의 PCI Express(PCIe) PF(물리적 함수)에 대한 미니포트 드라이버만 이 OID 집합 요청을 처리합니다.
지나치게 많은 드라이버가 이 OID 집합 요청을 실행하기 전에 NIC 스위치에서 변경할 매개 변수를 사용하여 NDIS_NIC_SWITCH_PARAMETERS 구조를 초기화해야 합니다. 그런 다음 드라이버는 OID 요청에 대한 NDIS_OID_REQUEST 구조를 초기화하고 InformationBuffer 멤버를 NDIS_NIC_SWITCH_PARAMETERS 구조체의 포인터로 설정합니다.
NIC 스위치에 대한 구성 매개 변수의 제한된 하위 집합만 변경할 수 있습니다. 오버리싱 드라이버는 NDIS_NIC_SWITCH_PARAMETERS 구조체의 다음 멤버를 설정하여 변경할 매개 변수를 지정합니다.
SwitchId 멤버는 매개 변수가 변경되는 NIC 스위치의 식별자로 설정됩니다.
참고 Windows Server 2012 SR-IOV 인터페이스는 네트워크 어댑터에서 하나의 NIC 스위치만 지원합니다. 이 스위치를 기본 NIC 스위치라고 합니다. SwitchId 멤버는 NDIS_DEFAULT_SWITCH_ID 설정해야 합니다.
적절한 NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED 플래그는 Flags 멤버에 설정됩니다. 해당 NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED 플래그가 Ntddndis.h에 정의된 경우에만 NDIS_NIC_SWITCH_PARAMETERS 구조체의 멤버를 변경할 수 있습니다.
Flags 멤버에 설정된 NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED 플래그에 해당하는 NDIS_NIC_SWITCH_PARAMETERS 구조체의 멤버는 변경할 NIC 스위치 구성 매개 변수를 사용하여 설정됩니다.
참고 Windows Server 2012 시작하여 NDIS_NIC_SWITCH_PARAMETERS 구조체의 SwitchName 멤버만 OID_NIC_SWITCH_PARAMETERS OID 집합 요청을 통해 변경할 수 있습니다.
PF 미니포트 드라이버는 OID_NIC_SWITCH_PARAMETERS OID 집합 요청을 받을 때 다음 지침을 따라야 합니다.
PF 미니포트 드라이버가 네트워크 어댑터를 다시 초기화할 필요 없이 변경 내용을 적용할 수 있는 경우 드라이버는 하드웨어에 변경 내용을 적용하고 NDIS_STATUS_SUCCESS OID 요청을 완료합니다.
이 상태 코드가 반환되면 NDIS는 레지스트리의 NIC 스위치 구성 정보를 업데이트합니다.
PF 미니포트 드라이버에서 변경 내용을 적용하기 위해 네트워크 어댑터를 다시 초기화해야 하는 경우 드라이버는 NDIS_STATUS_REINIT_REQUIRED 사용하여 OID 요청을 완료합니다.
이 상태 코드가 반환되면 NDIS는 레지스트리의 NIC 스위치 구성 정보도 업데이트합니다. 그러나 OID 집합 요청을 실행한 지나치게 많은 드라이버는 변경 내용이 적용되도록 네트워크 어댑터를 다시 초기화해야 합니다.
참고 정적 NIC 만들기 및 구성을 지원하는 PF 미니포트 드라이버는 NDIS_STATUS_REINIT_REQUIRED 반환하여 새 매개 변수가 적용되도록 어댑터를 다시 초기화할 수 있습니다.
PF 미니포트 드라이버가 OID에서 요청된 변경 내용을 적용할 수 없는 경우 OID에 실패하고 적절한 NDIS_STATUS_Xxx 코드를 반환해야 합니다.
이 경우 NDIS는 레지스트리의 NIC 스위치 구성 정보를 업데이트하지 않습니다.