Share via


NIC 스위치 삭제

SR-IOV(단일 루트 I/O 가상화)를 지원하는 네트워크 어댑터는 NIC 스위치를 삭제할 수 있어야 합니다. SR-IOV 어댑터의 PCI Express(PCIe) PF(물리적 함수)의 미니포트 드라이버만 어댑터에서 NIC 스위치를 삭제할 수 있습니다.

참고 Windows Server 2012 NDIS 6.30부터 SR-IOV 인터페이스는 네트워크 어댑터에서 하나의 NIC 스위치만 지원합니다. 이 스위치를 기본 NIC 스위치라고 하며 NDIS_DEFAULT_SWITCH_ID 식별자가 참조합니다.

PF 미니포트 드라이버를 중지하기 전에 NDIS는 OID_NIC_SWITCH_DELETE_SWITCH OID(개체 식별자) 집합 요청을 실행하여 NIC 스위치를 삭제합니다. NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 삭제되는 스위치의 식별자를 지정하는 NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS 구조체에 대한 포인터가 포함되어 있습니다.

NDIS는 PF 미니포트 드라이버에 OID_NIC_SWITCH_DELETE_SWITCH OID 집합 요청을 실행하기 전에 다음 정책을 적용합니다.

  • NDIS는 모든 수신 필터가 NIC 스위치의 기본 및 비기본 VPort(가상 포트)에서 지워졌는지 보장합니다. 수신 필터는 OID_RECEIVE_FILTER_CLEAR_FILTER OID 집합 요청을 통해 지워집니다.

  • NDIS는 스위치에서 만든 모든 기본이 아닌 VPort(가상 포트)가 이전에 삭제되었음을 보장합니다. VPort는 OID_NIC_SWITCH_DELETE_VPORT OID 집합 요청을 통해 삭제됩니다.

  • NDIS는 NIC 스위치에 연결된 PCIe VF(Virtual Functions)에 대한 모든 리소스가 이전에 해제되었음을 보장합니다. VF는 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 통해 해제됩니다.

OID_NIC_SWITCH_DELETE_SWITCH OID 메서드 요청을 받으면 PF 미니포트 드라이버는 다음을 수행해야 합니다.

  1. PF 미니포트 드라이버가 NIC 스위치의 정적 생성 및 구성을 지원하는 경우 지정된 NIC 스위치와 연결된 소프트웨어 리소스를 해제해야 합니다. 그러나 MiniportHaltEx 가 호출된 경우에만 드라이버는 NIC 스위치에 대한 하드웨어 리소스를 해제할 수 있습니다.

    정적 NIC 스위치 만들기에 대한 자세한 내용은 NIC 스위치의 정적 만들기를 참조하세요.

  2. PF 미니포트 드라이버가 NIC 스위치의 동적 생성 및 구성을 지원하는 경우 지정된 NIC 스위치와 연결된 하드웨어 및 소프트웨어 리소스를 해제해야 합니다.

    동적 NIC 스위치 만들기에 대한 자세한 내용은 NIC 스위치의 동적 만들기를 참조하세요.

  3. PF 미니포트 드라이버가 NIC 스위치의 동적 생성을 지원하고 네트워크 어댑터에서 모든 NIC 스위치가 삭제된 경우 드라이버는 NdisMEnableVirtualization을 호출하여 어댑터에서 가상화를 사용하지 않도록 설정해야 합니다. 가상화를 사용하지 않도록 설정하려면 네트워크 어댑터가 EnableVirtualization 매개 변수를 FALSE로 설정하고 NumVFs 매개 변수를 0으로 설정해야 합니다.

    NdisMEnableVirtualization 은 네트워크 어댑터 PF의 PCIe 구성 공간에서 SR-IOV 확장 기능 구조에서 NumVFs 멤버 및 VF 사용 비트를 지웁니다.

    참고 PF 미니포트 드라이버가 NIC 스위치의 정적 생성 및 구성을 지원하는 경우 MiniportHaltEx가 호출되는 경우에만 NdisMEnableVirtualization을 호출해야 합니다.