Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota En esta página se asume que está familiarizado con la información y los diagramas de Información general sobre el conmutador extensible Hyper-V y Reenvío híbrido.
El tráfico de paquetes que se mueve a través del trayecto de datos del conmutador extensible Hyper-V se obtiene por medio de las extensiones de la siguiente manera:
Una extensión obtiene un paquete desde la ruta de acceso de datos de entrada cuando se invoca su función FilterSendNetBufferLists. La extensión reenvía el paquete a extensiones subyacentes en la ruta de acceso de datos de entrada llamando a NdisFSendNetBufferLists. Las extensiones de filtrado y reenvío también pueden eliminar el paquete del camino de entrada de datos llamando a NdisFSendNetBufferListsComplete.
Una extensión obtiene un paquete de la ruta de datos de salida cuando se llama a su función FilterReceiveNetBufferLists. La extensión reenvía el paquete a las extensiones superiores en la ruta de datos de salida llamando a NdisFIndicateReceiveNetBufferLists. Las extensiones de filtrado y reenvío también pueden quitar el paquete de la ruta de acceso de datos de salida llamando a NdisFReturnNetBufferLists.
Las marcas siguientes se pueden establecer en el parámetro SendFlags de FilterSendNetBufferLists o NdisFSendNetBufferLists:
NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE
Si se establece esta marca, todos los paquetes de una lista vinculada de estructuras NET_BUFFER_LIST se originaron en el mismo puerto de origen del conmutador extensible Hyper-V.
Cuando NDIS llama a FilterSendNetBufferLists, establecerá esta marca si la interfaz extensible del conmutador extensible ha agrupado varios paquetes desde el mismo puerto de origen. Para obtener el mejor rendimiento, las extensiones deben mantener esta agrupación en su lugar y establecer esta marca cuando llama a NdisFSendNetBufferLists. La extensión también puede agregar paquetes originados o clonados a la lista vinculada de estructuras de NET_BUFFER_LIST si la extensión usa el mismo puerto de origen que los demás paquetes de la lista.
Nota Si cada paquete de la lista vinculada de NET_BUFFER_LIST estructuras usa el mismo puerto de origen, la extensión debe establecer la marca NDIS_SEND_COMPLETE_FLAGS_SWITCH_SINGLE_SOURCE en el parámetro SendCompleteFlags de NdisFSendNetBufferListsComplete cuando complete la solicitud de envío.
NDIS_SEND_FLAGS_SWITCH_DESTINATION_GROUP
Si se establece esta marca, todos los paquetes de una lista vinculada de NET_BUFFER_LIST estructuras se reenviarán al mismo puerto de destino de conmutador extensible.
Una extensión de reenvío puede usar este indicador para una lista de estructuras NET_BUFFER_LIST vinculada que reenvía en la trayectoria de datos de entrada después de determinar los puertos de destino de cada paquete. Este indicador se consume y quita por el borde subyacente del minipuerto del conmutador extensible antes de reenviar los paquetes por la ruta de acceso de datos de salida.
Las extensiones de captura y filtrado no pueden usar esta marca.
Nota La extensión de reenvío determina solo los puertos de destino de los paquetes que no son NVGRE. Si el paquete es un paquete NVGRE, el componente Hyper-V Network Virtualization (HNV) determina los puertos de destino del paquete y reenvía el paquete. Para obtener más información, consulte de reenvío híbrido.
Para obtener el mejor rendimiento, las extensiones de reenvío deben establecer esta marca si todos los paquetes de la lista vinculada deben reenviarse al mismo puerto de destino. Al establecer esta marca, la extensión reconoce que todos los paquetes de la lista vinculada tienen los mismos elementos de puerto de destino en el contexto de reenvío extensible del conmutador.
Nota La extensión de reenvío no debe establecer esta marca para una lista vinculada de paquetes que tienen varios puertos de destino.
Las marcas siguientes se pueden establecer en el parámetro ReceiveFlags de FilterReceiveNetBufferLists o NdisFIndicateReceiveNetBufferLists:
NDIS_RECEIVE_FLAGS_SWITCH_SINGLE_SOURCE
Si se establece esta marca, todos los paquetes de una lista vinculada de estructuras NET_BUFFER_LIST originadas desde el mismo puerto de origen del conmutador extensible Hyper-V.
Cuando NDIS llama a FilterReceiveNetBufferLists, establecerá esta marca si el conmutador extensible ha agrupado varios paquetes desde el mismo puerto de origen. Para obtener el mejor rendimiento, las extensiones deben mantener esta agrupación en su lugar y establecer esta marca cuando llama a NdisMIndicateReceiveNetBufferLists. Las extensiones también deben agregar paquetes originados o clonados a la lista vinculada de estructuras de NET_BUFFER_LIST si el paquete tiene el mismo puerto de origen que los demás paquetes de la lista.
Nota Si cada paquete de la lista vinculada de NET_BUFFER_LIST estructuras usa el mismo puerto de origen, la extensión debe establecer la marca NDIS_RETURN_FLAGS_SWITCH_SINGLE_SOURCE en el parámetro ReturnFlags de FilterReturnNetBufferLists cuando se complete la solicitud de recepción. La extensión debe establecer esta marca en el parámetro ReturnFlags si llama a NdisFReturnNetBufferLists para devolver paquetes que no se originaron ni clonaron.
NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP
Si se establece esta marca, todos los paquetes de una lista vinculada de NET_BUFFER_LIST estructuras se reenviarán al mismo puerto de destino de conmutador extensible.
Cuando NDIS llama a FilterReceiveNetBufferLists, establecerá esta marca si el conmutador extensible ha agrupado varios paquetes que tienen los mismos puertos de destino. Para obtener el mejor rendimiento, las extensiones deben mantener esta agrupación en su lugar y establecer esta marca cuando llama a NdisMIndicateReceiveNetBufferLists. Las extensiones también deben agregar paquetes originados o clonados a la lista vinculada de estructuras de NET_BUFFER_LIST si el paquete tiene los mismos puertos de destino que los demás paquetes de la lista.
Nota Cuando una extensión llama a NdisFIndicateReceiveNetBufferLists, no debe establecer la marca NDIS_RECEIVE_FLAGS_RESOURCES en el parámetro ReceiveFlags . La interfaz de conmutador extensible omite esta marca y completará la indicación de recepción llamando a FilterReturnNetBufferLists.