포트 정책 관리
Hyper-V 확장 가능한 스위치 필터링 및 전달 확장은 표준 및 사용자 지정 포트 속성의 속성으로 프로비전할 수 있습니다. 프로비전되면 이러한 확장은 확장 가능한 스위치 수신 데이터 경로에서 가져온 패킷을 필터링할 때 정책을 적용합니다. 이러한 정책에 대한 자세한 내용은 포트 정책을 참조하세요.
Hyper-V 확장 가능한 스위치 인터페이스는 다음 OID(개체 식별자)를 사용하여 표준 및 사용자 지정 포트 정책의 속성을 사용하여 필터링 및 전달 확장을 프로비전합니다.
OID_SWITCH_PORT_PROPERTY_ADD
이 OID 집합 요청은 WMI 관리 계층에 속성이 추가되었음을 기본 확장에 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다. NDIS_OID_REQUEST 구조체의 InformationBuffer에는 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 구조체에 대한 포인터가 포함되어 있습니다.
참고 사용자 지정 포트 속성은 NdisSwitchPortPropertyTypeCustom의 NDIS_SWITCH_PORT_PROPERTY_TYPE 열거형 값으로 지정됩니다. 표준 포트 속성은 NdisSwitchPortPropertyTypeSecurity, NdisSwitchPortPropertyTypeVlan 및 NdisSwitchPortPropertyTypeProfile의 NDIS_SWITCH_PORT_PROPERTY_TYPE열거형 값으로 지정됩니다.
OID_SWITCH_PORT_PROPERTY_UPDATE
이 OID 집합 요청은 WMI 관리 계층의 속성 업데이트에 대한 기본 확장을 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다. NDIS_OID_REQUEST 구조체의 InformationBuffer에는 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 구조체에 대한 포인터가 포함되어 있습니다.
OID_SWITCH_PORT_PROPERTY_DELETE
이 OID 집합 요청은 WMI 관리 계층의 속성 삭제에 대한 기본 확장을 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다. NDIS_OID_REQUEST 구조체의 InformationBuffer에는 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 구조체에 대한 포인터가 포함되어 있습니다.
OID_SWITCH_PORT_PROPERTY_ENUM
이 OID 메서드 요청은 확장 가능 스위치의 지정된 포트에 대해 현재 구성된 속성에 대해 확장 가능한 스위치의 기본 미니포트 에지를 쿼리하기 위해 확장에서 전송됩니다. NDIS_OID_REQUEST 구조체의 InformationBuffer에는 버퍼에 대한 포인터가 포함되어 있습니다. 이 버퍼에는 다음 데이터가 포함됩니다.
지정된 포트의 정책 열거에 대한 매개 변수를 지정하는 NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS 구조체입니다.
NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO 구조체의 배열입니다. 이러한 각 구조에는 확장 가능한 스위치 포트 정책의 속성에 대한 정보가 포함됩니다.
참고NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS 구조체의 NumProperties 멤버를 0으로 설정하면 NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO 구조체가 반환되지 않습니다.
참고 확장은 OID_SWITCH_PORT_PROPERTY_ADD OID 집합 요청을 시작해서는 안 됩니다. OID_SWITCH_PORT_PROPERTY_UPDATE 또는 OID_SWITCH_PORT_PROPERTY_DELETE.
확장 가능한 스위치 확장은 OID_SWITCH_PORT_PROPERTY_ADD, OID_SWITCH_PORT_PROPERTY_UPDATE 또는OID_SWITCH_PORT_PROPERTY_DELETE OID 집합 요청을 처리할 때 다음 지침을 따라야 합니다.
확장은 OID 요청과 연결된 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 또는 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 구조를 수정해서는 안됩니다.
확장이 속성을 관리하는 경우 확장에서 이러한 OID 요청을 처리해야 합니다. OID 요청에 따라 확장은 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 또는 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 구조체의 다음 멤버를 검사하여 포트 속성을 관리하는지 여부를 확인해야 합니다.
PropertyType 멤버입니다. 이 멤버는 포트 속성의 형식을 지정합니다. 사용자 지정 포트 속성에는 NdisSwitchPortPropertyTypeCustom의 PropertyType 멤버 값이 있습니다. 표준 포트 속성에는 다른 속성 형식 값이 있습니다. 예를 들어 표준 VLAN 포트 정책에는 NdisSwitchPortPropertyTypeVlan의 속성 형식 값이 있습니다.
PropertyId 멤버입니다. 이 멤버는 사용자 지정 포트 속성에 대한 독점 GUID 값을 지정합니다. 이 GUID 값은 사용자 지정 확장 가능한 스위치 속성의 형식도 정의하는 ISV(독립 소프트웨어 공급업체)에서 만듭니다.
참고 확장은 표준 포트 정책에 대해 이 멤버를 무시해야 합니다.
확장이 이전에 NDIS_SWITCH_PROPERTY_PARAMETERS 구조의 다음 멤버와 일치하는 포트 속성으로 프로비전된 경우 확장은 OID_SWITCH_PORT_PROPERTY_UPDATE 집합 요청을 처리해야 합니다.
PropertyType 멤버입니다.
PropertyId 멤버입니다.
참고 확장은 표준 포트 정책에 대해 이 멤버를 무시해야 합니다.
PropertyVersion 멤버입니다. 이 멤버는 확장이 프로비전된 포트 속성의 버전을 지정합니다.
PropertyInstanceId 멤버입니다. 이 멤버는 확장이 프로비전된 포트 속성의 instance 지정합니다.
필터링 또는 전달 확장은 관리하는 포트 정책의 추가 또는 업데이트를 거부할 수 있습니다. 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID 요청을 완료하여 이 작업을 수행합니다.
참고 확장 캡처는 포트 정책의 추가 또는 업데이트를 거부해서는 안 됩니다. 대신 확장 가능한 스위치 제어 경로 아래로 OID 요청을 전달해야 합니다.
전달 확장은 지원하지 않는 표준 포트 속성에 대한 OID 요청을 실패하거나 속성이 자체 정책 구성과 충돌하는 경우 실패할 수 있습니다. 이 경우 확장은 OID 요청을 완료하고 적절한 NDIS 상태 코드를 반환하여 오류를 보고해야 합니다.
확장이 표준 포트 정책에 대한 OID 집합 요청을 성공적으로 처리하는 경우 OID 요청을 완료하지 않아야 하며 확장 가능한 스위치 제어 경로 아래로 전달해야 합니다.
캡처 또는 필터링 확장이 사용자 지정 포트 정책에 대한 OID 집합 요청을 성공적으로 처리하는 경우 OID 요청을 완료하지 않아야 하며 확장 가능한 스위치 제어 경로 아래로 전달해야 합니다.
전달 확장이 사용자 지정 포트 정책에 대한 OID 집합 요청을 성공적으로 처리하는 경우 OID 요청을 완료하고 적절한 NDIS_STATUS_Xxx 값을 반환해야 합니다.
확장이 OID 집합 요청을 완료하지 않으면 NdisFOidRequest 를 호출하여 확장 가능한 스위치 드라이버 스택 아래로 OID 요청을 전달해야 합니다. 이 경우 확장은 OID의 완료 상태 모니터링하여 기본 확장이 OID 요청에 실패했는지 여부를 검색해야 합니다.