다음을 통해 공유


운영 NDIS QoS 매개 변수의 변경 내용 표시

NDIS QoS(서비스 품질)를 지원하는 미니포트 드라이버는 드라이버의 작동 NDIS QoS 매개 변수가 처음으로 확인되거나 나중에 변경될 때 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행 합니다. 미니포트 드라이버는 이러한 작동 매개 변수를 사용하여 네트워크 어댑터를 구성하여 QoS 패킷 전송을 수행합니다.

미니포트 드라이버는 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행하기 위해 다음 지침을 따라야 합니다.

  • 미니포트 드라이버는 작동 NDIS QoS 매개 변수를 확인하고 네트워크 어댑터를 구성한 후 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행 해야 합니다.

    참고: 미니포트 드라이버가 레지스트리에서 독점적인 로컬 NDIS QoS 매개 변수를 사용하여 프로비전되는 경우 드라이버는 MiniportInitializeEx 호출 도중 또는 바로 후에 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행해야 합니다. 이 경우 드라이버는 독점적인 로컬 NDIS QoS 매개 변수 설정을 사용하여 NDIS_QOS_PARAMETERS 구조를 초기화합니다.

    드라이버가 작동 NDIS QoS 매개 변수 설정을 확인하는 방법에 대한 자세한 내용은 운영 NDIS QoS 매개 변수 해결을 참조 하세요.

  • 이 초기 상태 표시 후 미니포트 드라이버는 작동 NDIS QoS 매개 변수가 변경될 때 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행해야 합니다. 예를 들어 운영 NDIS QoS 매개 변수는 다음 조건에서 변경될 수 있습니다.

    • 로컬 NDIS QoS 매개 변수의 변경으로 인해 운영 NDIS QoS 매개 변수가 변경됩니다. 이러한 매개 변수는 OID_QOS_PARAMETERS OID 메서드 요청을 통해 또는 IHV(독립 하드웨어 공급업체)에서 개발한 관리 애플리케이션을 통해 변경될 수 있습니다.

    • 원격 피어의 QoS 설정과 충돌하여 운영 NDIS QoS 매개 변수가 변경됩니다.

      미니포트 드라이버는 IEEE 802.1Qaz DCBX(Data Center Bridging Exchange) 프로토콜을 사용하여 원격 피어에 대한 QoS 매개 변수를 검색합니다. DCBX Willing 상태를 사용하는 경우 드라이버는 DCBX 상태 엔진에 대해 정의된 절차에 따라 QoS 매개 변수와 원격 피어의 QoS 매개 변수 간의 차이를 해결해야 합니다. 이 상태 엔진에 대한 자세한 내용은 IEEE 802.1Qaz 초안 표준을 참조하세요.

      로컬 DCBX Willing 상태에 대한 자세한 내용은 로컬 DCBX 의지 상태 관리를 참조 하세요.

    참고: 미니포트 드라이버가 로컬 또는 원격 NDIS QoS 매개 변수를 수신하는 경우 작동 NDIS QoS 매개 변수가 변경되지 않은 경우 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행해서는 안 됩니다. 드라이버가 이 불필요한 상태 표시를 하는 경우 NDIS는 지나치게 많은 드라이버에 표시를 전달하지 않을 수 있습니다.

  • 미니포트 드라이버는 작동 NDIS QoS 매개 변수를 확인하는 데 사용된 로컬 NDIS QoS 매개 변수를 재정의해야 하는 경우 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행 해야 합니다.

    미니포트 드라이버는 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행하여 로컬 NDIS QoS 매개 변수를 재정의했음을 NDIS 및 지나치게 많은 드라이버에 알릴 수 있습니다. 이러한 유형의 표시의 경우 드라이버는 로컬 NDIS QoS 매개 변수를 재정의하는 이유를 지정하기 위해 NDIS_QOS_PARAMETERS 구조체의 Flags 멤버에 적절한 NDIS_QOS_PARAMETERS_Xxx_CHANGED 플래그를 설정해야 합니다.

    미니포트 드라이버가 로컬 QoS 매개 변수를 관리하는 방법에 대한 자세한 내용은 로컬 NDIS QoS 매개 변수 설정을 참조 하세요.

    미니포트 드라이버가 작동 QoS 매개 변수를 확인하는 방법에 대한 자세한 내용은 운영 NDIS QoS 매개 변수 해결을 참조 하세요.

미니포트 드라이버는 *QOS 키워드(keyword) 표준화된 INF 키워드(keyword) 통해 NDIS QoS 기능이 현재 활성화되어 있는 경우 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행해야 합니다. 자세한 내용은 NDIS QoS에 대한 표준화된 INF 키워드를 참조하세요.

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 발급하기 위한 지침

미니포트 드라이버는 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 발급할 때 다음 단계를 수행합니다.

  1. 미니포트 드라이버는 다음을 포함할 수 있을 만큼 큰 버퍼를 할당합니다.

    • NDIS QoS 구성 설정과 NDIS QoS 트래픽 클래스에 대한 전역 운영 매개 변수를 포함하는 NDIS_QOS_PARAMETERS 구조체입니다.

    • NDIS_QOS_CLASSIFICATION_ELEMENT 구조체의 배열입니다. 이러한 각 구조는 패킷 데이터 패턴(조건) 및 관련 IEEE 802.1p 우선 순위 수준(작업)에 정의된 대로 트래픽 분류를 지정합니다. 네트워크 어댑터가 조건과 일치하는 전송 또는 송신 패킷에서 패턴을 찾으면 연결된 우선 순위 수준을 패킷에 할당합니다. 또한 어댑터는 우선 순위 수준에 따라 패킷에 다른 NDIS QoS 정책을 적용합니다.

  2. 미니포트는 작동 NDIS QoS 매개 변수를 사용하여 NDIS_QOS_PARAMETERS 구조를 초기화합니다. 드라이버는 네트워크 어댑터에서 구성되지 않을 수 있는 매개 변수를 포함하여 전체 운영 매개 변수 집합을 제공해야 합니다.

    미니포트 드라이버는 헤더 멤버를 초기화할 때 헤더Type 멤버를 NDIS_OBJECT_TYPE_QOS_PARAMETERS 설정합니다. 미니포트 드라이버는 헤더의 수정 버전 멤버를 NDIS_QOS_PARAMETERS_REVISION_1, Size 멤버를 NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1 설정합니다.

    미니포트 드라이버가 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시를 실행한 이후 변경된 데이터가 해당 멤버에 포함된 경우 미니포트 드라이버는 Flags 멤버에 적절한 NDIS_QOS_PARAMETERS_Xxx_CHANGED 플래그를 설정합니다.

    참고NDIS_QOS_PARAMETERS_Xxx_CHANGED 플래그 설정은 선택 사항입니다. NDIS는 항상 이전 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 상태 표시에서 변경되지 않은 경우에도 NDIS_QOS_PARAMETERS 멤버가 최신 상태라고 가정합니다.

    Flags 멤버를 설정하는 방법에 대한 자세한 내용은 Flags 멤버 설정 지침을 참조하세요.

  3. 미니포트 드라이버는 운영 NDIS QoS 매개 변수에서 각 트래픽 분류에 대한 NDIS_QOS_CLASSIFICATION_ELEMENT 구조를 초기화합니다. 드라이버는 버퍼의 NDIS_QOS_PARAMETERS 구조 끝에 이러한 요소를 추가합니다.

    미니포트 드라이버는 NDIS_QOS_CLASSIFICATION_ELEMENT 구조체의 Flags 멤버에서 NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT 플래그를 설정해서는 안됩니다.

    드라이버는 NDIS_QOS_PARAMETERS 구조체의 NumClassificationElements 멤버를 배열의 분류 요소 수로 설정합니다. 드라이버는 FirstClassificationElementOffset 멤버를 버퍼 시작부터 첫 번째 요소의 바이트 오프셋으로 설정합니다. 또한 드라이버는 ClassificationElementSize 멤버를 배열에 있는 각 요소의 길이(바이트)로 설정합니다.

    참고 NDIS 6.30부터 미니포트 드라이버는 ClassificationElementSize 멤버sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT)로 설정해야 합니다.

  4. 미니포트 드라이버는 다음과 같은 방식으로 상태 표시에 대한 NDIS_STATUS_INDICATION 구조를 초기화합니다.

    • StatusCode 멤버는 NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE 설정해야 합니다.

    • StatusBuffer 멤버는 작업 NDIS QoS 매개 변수를 포함하는 버퍼에 대한 포인터로 설정해야 합니다.

    • StatusBufferSize 멤버는 버퍼의 길이(바이트)로 설정해야 합니다.

  5. 미니포트 드라이버는 NdisMIndicateStatusEx를 호출하여 상태 표시를 실행합니다. 드라이버는 NDIS_STATUS_INDICATION 구조체에 대한 포인터를 StatusIndication 매개 변수에 전달해야 합니다.

Flags 멤버 설정 지침

미니포트 드라이버는 NDIS_QOS_PARAMETERS 구조체의 Flags 멤버에 다음 플래그를 설정하여 네트워크 어댑터에서 구성되거나 변경된 운영 NDIS QoS 매개 변수를 지정합니다.

NDIS_QOS_PARAMETERS_ETS_CONFIGURED
이 플래그가 설정된 경우 미니포트 드라이버는 다음 멤버에 포함된 ETS 매개 변수를 사용하여 네트워크 어댑터를 구성합니다.

  • NumTrafficClasses

  • PriorityAssignmentTable

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

참고 : 미니포트 드라이버는 DCB용 NDIS QoS를 지원하려면 ETS를 지원해야 합니다. 그러나 이 플래그의 설정은 네트워크 어댑터가 ETS를 지원하는지 여부를 지정하지 않습니다. 대신 이 플래그의 설정은 ETS 매개 변수가 네트워크 어댑터에 구성되어 있는지 여부만 지정합니다.

NDIS_QOS_PARAMETERS_ETS_CHANGED
이 플래그가 설정된 경우 다음 멤버에서 하나 이상의 ETS 매개 변수가 변경되었습니다.

  • NumTrafficClasses

  • PriorityAssignmentTable

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

NDIS_QOS_PARAMETERS_PFC_CONFIGURED
이 플래그를 설정하면 미니포트 드라이버가 PfcEnable 멤버에 포함된 PFC 설정을 사용하여 네트워크 어댑터를 구성합니다 .

참고 : 미니포트 드라이버는 DCB용 NDIS QoS를 지원하려면 PFC를 지원해야 합니다. 이 플래그의 설정은 네트워크 어댑터가 PFC를 지원하는지 여부를 지정하지 않습니다. 대신 이 플래그의 설정은 네트워크 어댑터에서 PFC 매개 변수를 사용할 수 있는지 여부만 지정합니다.

NDIS_QOS_PARAMETERS_PFC_CHANGED
이 플래그를 설정하면 PfcEnable 멤버에서 하나 이상의 PFC 설정이 변경됩니다.

NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED
이 플래그가 설정된 경우 미니포트 드라이버는 다음 멤버에 지정된 QoS 트래픽 분류 매개 변수를 사용하여 네트워크 어댑터를 구성합니다.

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED
이 플래그가 설정되면 다음 멤버에서 하나 이상의 QoS 트래픽 분류 매개 변수가 변경되었습니다.

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

NDIS_QOS_PARAMETERS 구조에 NDIS QoS 매개 변수 설정이 포함된 경우 NDIS_QOS_PARAMETERS_Xxx_CONFIGURED 플래그를 설정해야 합니다. 미니포트 드라이버는 설정이 변경되었는지 여부에 관계없이 이러한 플래그를 설정해야 합니다. 그러나 드라이버는 변경된 설정에 대해서만 NDIS_QOS_PARAMETERS_Xxx_CHANGED 플래그를 설정해야 합니다.