Hyper-V 확장 가능 스위치 송신 및 수신 플래그

참고 이 페이지에서는 Hyper-V 확장 가능 스위치하이브리드 전달 개요의 정보 및 다이어그램에 익숙하다고 가정합니다.

Hyper-V 확장 가능한 스위치 데이터 경로를 통해 이동하는 패킷 트래픽은 다음과 같은 방법으로 확장에서 가져옵니다.

FilterSendNetBufferLists 또는 NdisFSendNetBufferListsSendFlags 매개 변수에서 다음 플래그를 설정할 수 있습니다.

NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE
이 플래그를 설정하면 NET_BUFFER_LIST 구조체의 연결된 목록에 있는 모든 패킷이 동일한 Hyper-V 확장 가능한 스위치 원본 포트에서 시작됩니다.

NDIS가 FilterSendNetBufferLists를 호출할 때 확장 가능한 스위치 확장 가능 인터페이스가 동일한 원본 포트에서 여러 패킷을 그룹화한 경우 이 플래그를 설정합니다. 최상의 성능을 위해 확장은 이 그룹화를 제자리에 유지하고 NdisFSendNetBufferLists를 호출할 때 이 플래그를 설정해야 합니다. 확장이 목록의 다른 패킷과 동일한 원본 포트를 사용하는 경우 확장은 원래 또는 복제된 패킷을 연결된 NET_BUFFER_LIST 구조 목록에 추가할 수도 있습니다.

참고연결된 NET_BUFFER_LIST 구조 목록의 각 패킷이 동일한 원본 포트를 사용하는 경우 확장은 보내기 요청을 완료할 때 NdisFSendNetBufferListsCompleteSendCompleteFlags 매개 변수에서 NDIS_SEND_COMPLETE_FLAGS_SWITCH_SINGLE_SOURCE 플래그를 설정해야 합니다.

NDIS_SEND_FLAGS_SWITCH_DESTINATION_GROUP
이 플래그를 설정하면 NET_BUFFER_LIST 구조체의 연결된 목록에 있는 모든 패킷을 동일한 확장 가능한 스위치 대상 포트로 전달해야 합니다.

전달 확장은 각 패킷의 대상 포트를 결정한 후 수신 데이터 경로에서 전달하는 NET_BUFFER_LIST 구조의 연결된 목록에 이 플래그를 사용할 수 있습니다. 이 플래그는 패킷을 송신 데이터 경로 위로 전달하기 전에 확장 가능한 스위치의 기본 미니포트 에지에 의해 사용 및 제거됩니다.

확장 캡처 및 필터링은 이 플래그를 사용할 수 없습니다.

참고 전달 확장은 NVGRE가 아닌 패킷에 대한 패킷의 대상 포트만 결정합니다. 패킷이 NVGRE 패킷인 경우 Hyper-V HNV(네트워크 가상화) 구성 요소는 패킷의 대상 포트를 결정하고 패킷을 전달합니다. 자세한 내용은 하이브리드 전달을 참조하세요.

최상의 성능을 위해 연결된 목록의 모든 패킷을 동일한 대상 포트로 전달할 경우 전달 확장에서 이 플래그를 설정해야 합니다. 이 플래그를 설정하면 확장은 연결된 목록의 모든 패킷에 확장 가능한 스위치 전달 컨텍스트에서 동일한 대상 포트 요소가 있음을 인정합니다.

참고 전달 확장은 여러 대상 포트가 있는 패킷의 연결된 목록에 대해 이 플래그를 설정해서는 안 됩니다.

FilterReceiveNetBufferLists 또는 NdisFIndicateReceiveNetBufferListsReceiveFlags 매개 변수에서 다음 플래그를 설정할 수 있습니다.

NDIS_RECEIVE_FLAGS_SWITCH_SINGLE_SOURCE
이 플래그를 설정하면 NET_BUFFER_LIST 구조체의 연결된 목록에 있는 모든 패킷이 동일한 Hyper-V 확장 가능한 스위치 원본 포트에서 시작됩니다.

NDIS 가 FilterReceiveNetBufferLists를 호출할 때 확장 가능한 스위치가 동일한 원본 포트에서 여러 패킷을 그룹화한 경우 이 플래그를 설정합니다. 최상의 성능을 위해 확장은 이 그룹화를 제자리에 유지하고 NdisMIndicateReceiveNetBufferLists를 호출할 때 이 플래그를 설정해야 합니다. 또한 패킷에 목록의 다른 패킷과 동일한 원본 포트가 있는 경우 확장은 원본 또는 복제된 패킷을 연결된 NET_BUFFER_LIST 구조 목록에 추가해야 합니다.

참고연결된 NET_BUFFER_LIST 구조 목록의 각 패킷이 동일한 원본 포트를 사용하는 경우 확장은 수신 요청이 완료될 때 FilterReturnNetBufferListsReturnFlags 매개 변수에 NDIS_RETURN_FLAGS_SWITCH_SINGLE_SOURCE 플래그를 설정해야 합니다. 확장은 NdisFReturnNetBufferLists를 호출하여 시작되거나 복제되지 않은 패킷을 반환하는 경우 ReturnFlags 매개 변수에서 이 플래그를 설정해야 합니다.

NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP
이 플래그를 설정하면 NET_BUFFER_LIST 구조체의 연결된 목록에 있는 모든 패킷을 동일한 확장 가능한 스위치 대상 포트로 전달해야 합니다.

NDIS 가 FilterReceiveNetBufferLists를 호출할 때 확장 가능한 스위치가 동일한 대상 포트가 있는 여러 패킷을 그룹화한 경우 이 플래그를 설정합니다. 최상의 성능을 위해 확장은 이 그룹화를 제자리에 유지하고 NdisMIndicateReceiveNetBufferLists를 호출할 때 이 플래그를 설정해야 합니다. 또한 패킷에 목록의 다른 패킷과 동일한 대상 포트가 있는 경우 확장은 원래 또는 복제된 패킷을 연결된 NET_BUFFER_LIST 구조 목록에 추가해야 합니다.

참고 확장이 NdisFIndicateReceiveNetBufferLists를 호출하는 경우 ReceiveFlags 매개 변수에서 NDIS_RECEIVE_FLAGS_RESOURCES 플래그를 설정해서는 안 됩니다. 확장 가능한 스위치 인터페이스는 이 플래그를 무시하고 FilterReturnNetBufferLists를 호출하여 수신 표시를 완료합니다.