Ruta de acceso de WDI TX

Componentes de ruta de acceso tx

En el diagrama siguiente se muestran los componentes de ruta de acceso TX.

ruta de acceso wdi tx.

Descriptores TX

El TAL usa un descriptor TX de destino (TTD) para informar al destino del tamaño y la ubicación del marco.

Diferentes dispositivos WLAN de destino pueden tener diferentes definiciones del TTD. Debido a esto, la programación TTD se realiza dentro del TAL, en función de la información proporcionada por WDI. Para programar un TTD, WDI especifica un NET_BUFFER_LIST (NBL), a través del cual se puede acceder a los metadatos del marco, como el identificador de fotograma, el TID extendido, las descargas de tareas aplicables y la acción de exención de cifrado.

El TAL transfiere el TTD y el marco TX al destino. Desde los metadatos del TTD y los campos dentro del encabezado del marco, el destino puede determinar el destinatario previsto del marco de transmisión y cómo transmitirlo.

Finalmente, el destino transmite el marco y notifica al host cuando se realiza la transferencia (y posiblemente la transmisión). El destino usa un mensaje de finalización TX que especifica si la transmisión se realizó correctamente y los identificadores de los fotogramas cuya transmisión se completó.

Funcionamiento básico

La transmisión de una trama de datos implica los pasos siguientes dentro del software WLAN host TX.

  1. WDI obtiene un NBL de NDIS y realiza la clasificación TX (si WDI está funcionando en modo de puesta en cola peerTID).
  2. El NBL está vinculado a un TTD obtenido consultando el TAL. Para mejorar la eficacia, el TAL puede preasignar TTDs de una lista de aspecto.
  3. TxMgr pone en cola el marco de transmisión basado en PeerTID o Port, según el modo TargetPriorityQueueing .
  4. TxMgr proporciona el NBL y el TTD adjunto al TxEngine, que a su vez lo pasa al TIL para la transferencia al destino. TxEngine/TIL no pone en cola fotogramas (por ejemplo, antes de ponerlos a disposición de DMA).
  5. TxEngine indica el estado tx actualizado de los fotogramas que pertenecen al txEngine/destino mediante la finalización de transferencia (y indicación de finalización de transmisión si procede).
  6. Cuando un fotograma es Transfer Complete (y, si es necesario, TX Complete), TxMgr busca el NBL mediante el identificador de fotograma, devuelve el TTD al grupo de TxEngine y envía el fotograma a NDIS.

Host: control de flujo tx de destino

El control tx Flow es necesario para evitar sobrecargar los recursos TIL y de destino.

El esquema de crédito de destino y el mecanismo de pausa/reanudación

TxMgr pone en cola y transfiere fotogramas TX al destino según un esquema basado en crédito. El destino proporciona al motor TX indicaciones de actualización de crédito que especifican los recursos disponibles para fotogramas adicionales en el destino. El número de créditos usados por cada fotograma del destino se determina en el momento de la programación TTD. El número de fotogramas pasados a TxEngine como parte de una operación de envío de una cola determinada está limitado por los créditos disponibles y el costo de los fotogramas en el encabezado de la línea en orden FIFO.

Para txmgr, los créditos tienen una unidad abstracta. Target/TxEngine debe usar cualquier definición de crédito más útil para la implementación específica.

El TAL usa indicaciones de pausa/reanudación para detener o reanudar el flujo de tráfico TX desde un puerto determinado o destinado a un receptor determinado con un TID determinado. Si TxEngine obtiene una solicitud de envío mientras el crédito disponible es menor que el costo máximo de fotogramas, TxEngine pausa el tráfico desde TxMgr (en todos los puertos) hasta la siguiente actualización de crédito del destino.

Cuando WDI está en modo de puesta en cola de puertos (TargetPriorityQueueing es igual a TRUE), las indicaciones de pausa/reanudación solo se permiten o definen en un puerto o nivel de adaptador debido a la ausencia de clasificación peer,TID y cola.

Limitación del número máximo de fotogramas para las operaciones de envío

Para evitar la necesidad de colas temporales en el TIL (por ejemplo, cola de coincidencia de velocidad de DMA), el número de fotogramas que TxMgr pasa a TxEngine en una operación de envío está limitado por un recuento máximo especificado por TxEngine. Este límite puede ser específico de la cola desde la que TxMgr está intentando enviar y los cambios a lo largo del tiempo, ya que hay más espacio disponible en el TIL.

Host: programación de transferencia de TX de destino

TxMgr usa un único subproceso TX para enviar fotogramas a TxEngine. Hay un subproceso TX que envía activamente fotogramas a TxEngine siempre que haya colas retrasadas.

TxMgr programa colas de la siguiente manera en función del modo de puesta en cola.

Para la puesta en cola de puertos WDI (TargetPriorityQueueing es igual a TRUE), los servicios TxMgr se ponen en cola con Round Robin (DRR) de déficit en todas las colas de puertos pendientes.

En el caso de la puesta en cola de PeerTID de WDI (TargetPriorityQueueing es igual a FALSE), los servicios TxMgr se ponen en cola según la prioridad de CA sin tener que pasar por alto las colas y garantiza que los recursos con cuello de botella de TIL y destino se compartan entre secuencias de RA-TID de una manera justa. Evita que los flujos lentos consuman una proporción desproporcionada de estos recursos.

En general, el programador usa DRR para elegir la cola de TID del mismo nivel desde la que transmitir en un momento dado. Para cada cola, DRR asocia un parámetro cuántico que limita el número de octetos que se enviarán desde la cola en cada ronda. TxEngine actualiza este parámetro en cada operación de envío que implique la cola para que coincida con el tamaño esperado de una o dos oportunidades de transmisión.

En general, el programador de DRR solo presta servicios a las colas de RA-TID asociadas a la CA de mayor prioridad pendiente. Para evitar el hambre, el programador realiza periódicamente DRR en todas las colas retrasadas.

Asignación de prioridad para TID extendidos reservados de IHV

Los fotogramas insertados por el IHV con TID extendido en el intervalo reservado de IHV se asignan a los siguientes ACs extendidos con fines de programación prioritaria. La tabla está en orden de aumentar la prioridad.

TID extendido CA extendida
17 AC_BK
18 AC_BE
19 AC_VI
20 AC_VO
21 AC_PR0
22 AC_PR1
23 AC_PR2
24 AC_PR3

Para la puesta en cola de puertos WDI, todos los fotogramas insertados se tratan igualmente independientemente del TID extendido.

interfaz de TxMgr-TxEngine

Solicitudes a TxEngine

Indicaciones de TxEngine

Solicitudes de control específicas de TX

Indicaciones de control específicas de TX

Funciones de ruta de acceso tx de WDI

NET_BUFFER_LIST

WDI_TXRX_CAPABILITIES