Hyper-V 확장 가능한 스위치 구성 변경에 대한 OID 요청 수신

확장 가능한 스위치 인터페이스는 확장 가능한 스위치 OID(개체 식별자) 집합 요청을 실행하여 확장 가능한 스위치 구성 요소 구성 및 정책 매개 변수의 변경 내용에 대해 기본 확장에 알렸습니다. 이러한 요청은 확장 가능한 스위치 구성 요소 구성 및 정책 매개 변수의 변경 내용을 기본 확장에 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다. 이러한 OID 요청은 확장 가능한 스위치 드라이버 스택을 통해 확장 가능한 스위치의 기본 미니포트 가장자리로 이동합니다.

다음 그림에서는 NDIS 6.40(Windows Server 2012 R2) 이상에 대한 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 줍니다.

NDIS 6.40의 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 주는 다이어그램

다음 그림에서는 NDIS 6.30(Windows Server 2012)에 대한 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 줍니다.

NDIS 6.30의 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 주는 다이어그램

참고 확장 가능한 스위치 인터페이스에서 NDIS 필터 드라이버를 확장 가능한 스위치 확장 이라고 하며 드라이버 스택을 확장 가능한 스위치 드라이버 스택이라고 합니다.

확장 가능한 스위치의 프로토콜 에지는 다음 유형의 알림에 대한 OID 집합 요청을 실행합니다.

  • 확장 가능한 스위치의 포트 구성을 변경합니다.

    예를 들어 프로토콜 드라이버는 확장 가능한 스위치에서 포트를 만드는 방법에 대해 기본 확장에 알리기 위해 OID_SWITCH_PORT_CREATE 발급합니다. 마찬가지로 프로토콜 드라이버는 OID_SWITCH_PORT_DELETE 발급하여 확장에 포트 삭제에 대해 알립니다.

    이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능 스위치 포트를 참조하세요.

  • 확장 가능한 스위치의 포트에 대한 네트워크 어댑터 연결을 변경합니다.

    예를 들어 프로토콜 드라이버는 확장 가능한 스위치의 포트에 대한 네트워크 어댑터의 연결에 대해 기본 확장에 알리기 위해 OID_SWITCH_NIC_CONNECT 발급합니다. 마찬가지로 프로토콜 드라이버는 OID_SWITCH_NIC_DISCONNECT 발급하여 네트워크 어댑터가 포트에서 연결이 끊어졌는지 확장에 알립니다.

    이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능 스위치 네트워크 어댑터를 참조하세요.

  • 확장 가능한 스위치 포트 또는 스위치 정책을 변경합니다.

    예를 들어 프로토콜 드라이버는 확장 가능한 스위치 속성의 추가에 대해 기본 확장에 알리기 위해 OID_SWITCH_PROPERTY_ADD 발급합니다. 마찬가지로 프로토콜 드라이버는 포트 속성의 삭제에 대해 확장에 알리기 위해 OID_SWITCH_PORT_PROPERTY_DELETE 문제를 해결합니다.

    이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 정책 관리를 참조하세요.

    참고 확장은 확장 가능한 스위치의 기본 미니포트 에지에 의해 관리되는 기본 포트 또는 스위치 정책의 변경 내용에 대해 알림을 받지 않습니다.

  • 런타임 포트 데이터를 저장하거나 복원합니다.

    예를 들어 프로토콜 드라이버는 확장 가능한 스위치에서 지정된 포트에 대한 런타임 데이터를 저장하도록 기본 확장에 알리는 OID_SWITCH_NIC_SAVE 발급합니다. 이러한 OID는 Hyper-V 상태가 저장되거나 다른 호스트로 마이그레이션될 때 발급됩니다. 마찬가지로 프로토콜 드라이버는 확장 가능한 스위치에서 런타임 포트 데이터가 복원되고 있음을 확장에 알리기 위해 OID_SWITCH_NIC_RESTORE 문제를 해결합니다.

    이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 Run-Time 데이터 관리를 참조하세요.

확장 가능한 스위치 확장 미니포트 드라이버는 이러한 OID 요청을 완료해야 합니다. 그러나 확장 가능한 스위치 OID 요청이 있는 경우 기본 확장이 OID 요청에 실패하여 알림을 거부할 수 있습니다. 예를 들어 확장 가능한 스위치 프로토콜 드라이버가 확장 가능한 스위치에 만들어질 새 포트에 대해 필터 드라이버에 알리면 OID_SWITCH_PORT_CREATE OID 집합 요청을 실행합니다. 기본 필터링 또는 전달 확장은 STATUS_DATA_NOT_ACCEPTED OID 요청을 완료하여 포트 만들기를 거부할 수 있습니다.

확장 가능한 스위치 확장은 확장 가능한 스위치 OID 요청에 대해 FilterOidRequest 함수가 호출되는 경우 다음 지침을 따라야 합니다.

  • 확장은 OidRequest 매개 변수가 가리키는 데이터를 수정해서는 안 됩니다.

  • 확장 가능한 스위치 OID 요청의 경우 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID 요청을 완료할 수 있습니다. 이렇게 하면 OID 요청이 실행된 확장 가능한 스위치 구성 요소에 대한 작업이 거부됩니다.

    예를 들어 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID_SWITCH_NIC_CREATE 요청을 완료할 수 있습니다. 드라이버가 네트워크 연결을 만드는 지정된 포트에서 구성된 정책을 충족할 수 없는 경우 이 작업을 수행해야 할 수 있습니다.

    확장은 다음 OID에 대해 이러한 방식으로 요청을 완료할 수 있습니다.

  • 확장이 OID 요청을 완료하지 않으면 NdisFOidRequest 를 호출하여 확장 가능한 스위치 드라이버 스택 아래로 요청을 전달해야 합니다.

    참고 드라이버가 NdisFOidRequest를 호출하기 전에 드라이버는 NdisAllocateCloneOidRequest 를 호출하여 NDIS_OID_REQUEST 구조를 할당하고 요청 정보를 새 구조로 전송해야 합니다.

    확장은 FilterOidRequestComplete 함수가 호출될 때 OID 요청의 완료 결과를 모니터링해야 합니다. 이렇게 하면 확장이 확장 가능한 스위치 구성 요소에 대한 작업이 성공적으로 완료되었는지 또는 기본 확장에 의해 거부되었는지 여부를 확인할 수 있습니다.

    OID 요청을 필터링하고 전달하는 방법에 대한 자세한 내용은 NDIS 필터 드라이버에서 OID 요청 필터링을 참조하세요.

  • NDIS 및 오버리딩 프로토콜 및 필터 드라이버는 하드웨어 오프로드 기술에 대한 OID 요청을 기본 물리적 네트워크 어댑터에 발급할 수 있습니다. 여기에는 VMQ(가상 머신 큐), IPsec(인터넷 프로토콜 보안) 및 SR-IOV(단일 루트 I/O 가상화)와 같은 오프로드 기술에 대한 OID 요청이 포함됩니다.

    이러한 OID 요청이 확장 가능한 스위치 인터페이스에 도착하면 NDIS_SWITCH_NIC_OID_REQUEST 내에서 OID 요청을 캡슐화합니다. 그런 다음 확장 가능한 스위치의 프로토콜 에지가 이 구조를 포함하는 OID_SWITCH_NIC_REQUEST OID 요청을 실행합니다.

  • 확장 가능한 스위치 전달 확장은 외부 네트워크 어댑터에 바인딩된 하나 이상의 물리적 어댑터에서 NDIS 하드웨어 오프로드 기술을 지원할 수 있습니다. 이 구성에서 확장 가능한 스위치 외부 네트워크 어댑터는 NDIS MUX(멀티플렉서) 중간 드라이버의 가상 미니포트 에지에 바인딩됩니다. MUX 중간 드라이버는 호스트에 있는 하나 이상의 물리적 네트워크 팀에 바인딩됩니다. 이 구성을 확장 가능한 스위치 팀이라고 합니다. 확장 가능한 스위치 팀에 대한 자세한 내용은 물리적 네트워크 어댑터 구성 유형을 참조하세요.

    이 구성에서는 확장 가능한 스위치 확장이 팀의 모든 네트워크 어댑터에 노출됩니다. 이렇게 하면 확장 가능한 스위치 드라이버 스택의 전달 확장이 팀의 개별 네트워크 어댑터 구성 및 사용을 관리할 수 있습니다. 예를 들어 확장은 개별 어댑터에 나가는 패킷을 전달하여 팀을 통해 LBFO(부하 분산 장애 조치(failover) 솔루션을 지원할 수 있습니다. 이러한 확장을 팀 공급자라고 합니다. 팀 공급자에 대한 자세한 내용은 팀 공급자 확장을 참조 하세요.

    팀 공급자는 OID_SWITCH_NIC_REQUEST OID 요청을 처리하여 하드웨어 오프로드에 대한 어댑터 팀의 구성에 참여할 수 있습니다. 예를 들어 확장은 하드웨어 오프로드에 대한 매개 변수를 사용하여 물리적 어댑터를 구성하기 위해 OID_SWITCH_NIC_REQUEST 자체 OID 요청을 생성할 수 있습니다.

    OID_SWITCH_NIC_REQUEST OID 요청을 처리하는 방법에 대한 자세한 내용은 물리적 네트워크 어댑터에 OID 요청 전달을 참조하세요.

    참고 확장 필터 드라이버는 확장 가능한 스위치 외부 네트워크 어댑터에 바인딩된 모든 물리적 어댑터에 프라이빗 OID를 발급하는 OID_SWITCH_NIC_REQUEST OID 요청을 생성할 수 있습니다.

참고 확장 가능한 스위치 OID 요청이 보류 중인 동안 에는 NdisFRestartFilter 를 사용한 스택 다시 시작 요청이 완료되지 않습니다. 이러한 이유로 스택 다시 시작을 기다리는 확장은 진행 중인 OID 요청을 완료해야 합니다.

확장 가능한 스위치 OID 요청에 대한 제어 경로에 대한 자세한 내용은 OID 요청에 대한 Hyper-V 확장 가능한 스위치 제어 경로를 참조하세요.