Compartir a través de


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

La estructura NET_BUFFER_LIST para cada paquete que atraviesa la ruta de acceso de datos de conmutador extensible 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.

Se han declarado los siguientes tipos de datos para acceder al contexto de reenvío de conmutador extensible dentro de la estructura NET_BUFFER_LIST de un paquete:

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO
Se trata de una unión de 64 bits que contiene las características de reenvío de un paquete. Estos datos incluyen los identificadores para el puerto de origen y la conexión de adaptador de red desde los que se originó el paquete. Estos datos también incluyen el número de elementos sin usar que están disponibles en la matriz de puertos de destino.

La extensión de conmutador extensible puede acceder a estos datos mediante la macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL .

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY
Esta estructura define la matriz de puertos de destino para el paquete. Cada elemento de esta matriz tiene el formato de estructura NDIS_SWITCH_PORT_DESTINATION .

La estructura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY contiene miembros que especifican el número actual del número total de elementos, así como el número de elementos usados en la matriz.

La extensión de conmutador extensible puede obtener esta matriz llamando a la función GetNetBufferListDestinations . Si el controlador agrega o modifica elementos de la matriz para un paquete con varios puertos de destino, debe llamar a la función UpdateNetBufferListDestinations . Esta función confirma esos cambios en la matriz de puertos de destino en el contexto de reenvío del paquete.

Nota Para confirmar los cambios en un paquete con un solo puerto de destino, es más eficaz que el controlador llame a la función AddNetBufferListDestination .

NDIS_SWITCH_PORT_DESTINATION
Esta estructura define un puerto de destino para el paquete. En el caso de los paquetes con un único puerto de destino, solo hay un elemento NDIS_SWITCH_PORT_DESTINATION en la matriz de puertos de destino. En el caso de los paquetes con varios puertos de destino, hay uno o varios de estos elementos en la matriz.

Una vez que la extensión de conmutador extensible ha llamado a GetNetBufferListDestinations para obtener la matriz de puertos de destino del paquete, puede acceder a elementos individuales de la matriz mediante la macro NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX .