다음을 통해 공유


OID_SWITCH_NIC_CREATE

Hyper-V 확장 가능 스위치의 프로토콜 에지는 OID_SWITCH_NIC_CREATE OID(개체 식별자) 집합 요청을 실행하여 확장 가능한 스위치 포트와 외부 또는 가상 네트워크 어댑터 간에 새 연결이 설정되고 있음을 기본 확장 가능한 스위치 확장에 알립니다. 연결이 완전히 설정되면 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_NIC_CONNECT OID 집합 요청을 실행합니다.

NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버는 NDIS_SWITCH_NIC_PARAMETERS 구조체에 대한 포인터를 포함합니다.

설명

NDIS_SWITCH_NIC_PARAMETERS 구조체의 PortId 멤버는 생성 알림이 생성되는 확장 가능한 스위치 포트를 지정합니다. 확장 가능한 스위치 확장은 OID_SWITCH_PORT_ARRAY OID 쿼리 요청을 실행하여 확장 가능한 스위치에서 이 포트 및 기타 포트에 대한 매개 변수 정보를 가져올 수 있습니다.

NDIS_SWITCH_NIC_PARAMETERS 구조체의 Index 멤버는 생성 알림이 생성되는 네트워크 어댑터의 인덱스를 지정합니다. 지정한 인덱 스 값이 있는 네트워크 어댑터는 PortId 멤버가 지정한 확장 가능한 스위치 포트에 연결됩니다. 이러한 인덱스 값에 대한 자세한 내용은 네트워크 어댑터 인덱스 값을 참조하세요.

OID_SWITCH_NIC_CREATE OID 집합 요청을 받으면 확장은 다음 지침을 따라야 합니다.

  • 확장은 OID 요청과 연결된 NDIS_SWITCH_NIC_PARAMETERS 구조를 수정해서는 안됩니다.

  • OID_SWITCH_NIC_CREATE 요청은 확장 가능한 새 스위치 연결이 시작되고 있으며 패킷 트래픽이 지정된 포트를 통해 곧 발생할 수 있음을 확장에 알렸습니다. 그러나 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_NIC_CONNECT OID 집합 요청을 발급할 때까지 확장에서 포트를 사용할 수 없습니다. 해당 OID가 실행될 때까지 확장은 다음을 수행하면 안됩니다.

    • OID_SWITCH_NIC_CREATE OID 요청이 실행된 확장 가능한 스위치 포트에서 네트워크 어댑터 연결에 대한 패킷 트래픽을 생성합니다.

    • OID_SWITCH_NIC_CREATE OID 요청이 발급된 기본 네트워크 어댑터에 OID_SWITCH_NIC_REQUEST OID 요청을 전달하거나 시작합니다.

    • OID_SWITCH_NIC_CREATE OID 요청이 발급된 기본 네트워크 어댑터에서 NDIS 상태 NDIS_STATUS_SWITCH_NIC_STATUS 표시를 전달하거나 시작합니다.

    • ReferenceSwitchNic를 호출하여 확장 가능한 스위치 포트에서 지정된 네트워크 어댑터 연결에 대한 확장 가능한 스위치 참조 카운터를 증분합니다.

    참고 확장은 OID_SWITCH_NIC_CREATE OID 요청과 OID_SWITCH_NIC_CONNECT 사이에 지정된 포트에 대한 패킷 보내기 또는 수신을 가로챌 수 있습니다. 이 경우 확장은 패킷 요청을 취소하는 대신 송신 또는 수신 요청을 전달해야 합니다.

  • 확장은 OID 요청에 대한 NDIS_STATUS_DATA_NOT_ACCEPTED 반환하여 생성 알림을 거부할 수 있습니다. 예를 들어 확장이 지정된 포트에서 구성된 정책을 충족할 수 없는 경우 확장은 생성 알림을 거부해야 합니다.

    확장이 다른 NDIS_STATUS_Xxx 상태 코드를 반환하는 경우 생성 알림도 거부됩니다. 그러나 NDIS_STATUS_RESOURCES 반환과 같은 일시적인 시나리오에 대한 상태 코드를 반환하면 생성 알림이 다시 시도됩니다.

    확장이 OID 요청을 거부하지 않으면 요청이 완료되면 상태 모니터링해야 합니다. 확장은 확장 가능한 스위치 제어 경로의 기본 확장 또는 확장 가능한 스위치 인터페이스에 의해 OID 요청이 거부되었는지 여부를 확인하려면 이 작업을 수행해야 합니다.

    참고 확장은 NDIS_SWITCH_NIC_PARAMETERS 구조체의 Index 멤버가 네트워크 어댑터 인덱스 값 0을 지정하는 경우에만 OID 요청을 거부할 수 있습니다.

  • 확장이 생성 알림을 거부하지 않는 경우 NdisFOidRequest 를 호출하여 확장 가능한 스위치 드라이버 스택의 기본 확장에 이 OID 요청을 전달해야 합니다.

    참고 확장은 이 OID 요청의 완료 상태 모니터링해야 합니다. 확장은 확장 가능한 스위치 드라이버 스택의 기본 확장이 생성 알림을 거부했는지 여부를 감지하기 위해 이 작업을 수행합니다.

  • 확장이 NdisFOidRequest 를 호출하여 이 OID 요청을 전달하는 경우 확장은 확장 가능한 스위치 포트를 오가는 패킷 트래픽을 즉시 수신하지 않습니다. 또한 확장은 확장 가능한 스위치 포트에 대한 송신 또는 수신 트래픽을 즉시 삽입할 수 없습니다.

  • 확장은 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_NIC_CONNECT OID 집합 요청을 발급한 후에만 패킷 트래픽을 확장 가능한 스위치 포트로 전달할 수 있습니다.

    참고 경우에 따라 OID_SWITCH_NIC_CONNECT OID 집합 요청이 실행되기 전에 확장 가능한 스위치가 포트로 패킷 트래픽을 전달할 수 있습니다.

  • 확장 가능한 스위치 외부 네트워크 어댑터는 하나 이상의 기본 물리적 어댑터에 바인딩할 수 있습니다. 외부 네트워크 어댑터에 바인딩된 모든 물리적 네트워크 어댑터의 경우 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_NIC_CREATE 별도의 OID 집합 요청을 발급합니다. 각 OID 집합 요청은 다른 네트워크 어댑터 연결 인덱스 값을 지정합니다. 이러한 인덱스 값에 대한 자세한 내용은 네트워크 어댑터 인덱스 값을 참조하세요.

    확장은 각 기본 물리적 어댑터에 대한 연결 상태를 유지해야 합니다. 물리적 네트워크 어댑터를 외부 네트워크 어댑터에 바인딩할 수 있는 다양한 구성에 대한 자세한 내용은 물리적 네트워크 어댑터 구성 유형을 참조하세요.

확장 가능한 스위치 포트 및 네트워크 어댑터 연결 상태에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요.

참고 확장은 OID_SWITCH_NIC_CREATE 자체 OID 집합 요청을 실행해서는 안 됩니다.

반환 상태 코드

확장이 OID_SWITCH_NIC_CREATE OID 집합 요청을 완료하면 다음 상태 코드 중 하나를 반환합니다.

상태 코드 Description

NDIS_STATUS_DATA_NOT_ACCEPTED

확장에서 생성 알림을 거부했습니다.

NDIS_STATUS_RESOURCES

확장은 리소스가 부족하여 생성 알림을 거부했습니다.

NDIS_STATUS_Xxx

확장은 다른 이유로 만들기 알림을 거부했습니다.

참고 확장이 OID 집합 요청을 완료하는 경우 NDIS_STATUS_SUCCESS 반환해서는 안 됩니다.

확장이 OID_SWITCH_NIC_CREATE OID 집합 요청을 완료하지 않으면 확장 가능한 스위치의 기본 미니포트 에지에 의해 요청이 완료됩니다. 기본 미니포트 에지는 이 OID 집합 요청에 대해 다음 상태 코드를 반환합니다.

상태 코드 Description

NDIS_STATUS_SUCCESS

OID 요청이 성공적으로 완료되었습니다.

요구 사항

Version

NDIS 6.30 이상에서 지원됩니다.

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort