Compartir a través de


Administración del contexto de reenvío de conmutador extensible de Hyper-V

Nota En esta página se supone que está familiarizado con la información y los diagramas de Información general del conmutador extensible de Hyper-V y elreenvío híbrido.

La estructura de NET_BUFFER_LIST para cada paquete que atraviesa la ruta de acceso de datos extensible del conmutador de Hyper-V contiene datos fuera de banda (OOB). Estos datos especifican el puerto de origen desde donde se originó el paquete, así como uno o varios puertos de destino para la entrega de paquetes. Estos datos de OOB se conocen como contexto de reenvío de conmutador extensible.

Nota El contexto de reenvío de conmutadores extensible es diferente de la estructura de NET_BUFFER_LIST_CONTEXT . Esto permite que las extensiones asignen sus propias estructuras de contexto sin afectar al contexto de reenvío.

El contexto de reenvío de conmutador extensible se asigna y libera de la siguiente manera:

Todas las extensiones de conmutador extensible pueden llamar a las siguientes funciones de controlador de conmutador extensible para acceder a los datos dentro del contexto de reenvío del paquete:

AllocateNetBufferListForwardingContext
Asigna el contexto de reenvío de conmutadores extensible y prepara una estructura de NET_BUFFER_LIST para las operaciones de envío o recepción dentro del conmutador extensible.

CopyNetBufferListInfo
Copia el contexto de reenvío de la estructura de NET_BUFFER_LIST de un paquete de origen a la estructura de NET_BUFFER_LIST de un paquete de destino. Estos datos incluyen el puerto de origen del conmutador extensible y la información del adaptador de red. La información del puerto de destino de conmutador extensible también se puede copiar en el paquete de destino.

FreeNetBufferListForwardingContext
Libera los recursos en el contexto de reenvío extensible de un NET_BUFFER_LIST estructura. Estos datos se usaron para las operaciones de envío o recepción en un conmutador extensible de Hyper-V y se asignaron anteriormente mediante una llamada a la función AllocateNetBufferListForwardingContext .

GetNetBufferListDestinations
Devuelve los puertos de destino del contexto de reenvío de la estructura NET_BUFFER_LIST de un paquete.

Una extensión de reenvío es responsable de agregar puertos de destino para un paquete, a menos que el paquete sea un paquete NVGRE. (Para obtener más información, consulte Reenvío híbrido). La extensión llama a las siguientes funciones de controlador de conmutador extensible para agregar o actualizar los puertos de destino dentro del contexto de reenvío del paquete:

AddNetBufferListDestination
Agrega un único destino al área de contexto de reenvío de conmutador extensible para un paquete especificado por una estructura de NET_BUFFER_LIST .

Nota Esta llamada confirma el cambio en el área de contexto de reenvío. En este caso, la extensión de reenvío no necesita llamar a UpdateNetBufferListDestinations.

GrowNetBufferListDestinations
Aumenta el tamaño de la matriz de puertos de destino en el área de contexto de reenvío de la estructura NET_BUFFER_LIST de un paquete.

UpdateNetBufferListDestinations
Confirma las modificaciones realizadas por la extensión en uno o varios puertos de destino de conmutador extensible de un paquete. Esta función actualiza el contexto de reenvío de la estructura NET_BUFFER_LIST de un paquete con estos cambios.

Nota Una vez que la extensión de reenvío confirma los cambios de los puertos de destino en el contexto de reenvío, no se pueden quitar los puertos de destino y solo se puede cambiar el miembro IsExcluded de la estructura NDIS_SWITCH_PORT_DESTINATION de un puerto de destino. Para obtener más información, vea Excluir la entrega de paquetes a puertos de destino de conmutador extensible.

Contexto de reenvío de conmutador extensible de Hyper-V

Tipos de datos de contexto de reenvío de conmutador extensible de Hyper-V