Support packets in flight 60/74060/3 master
authorLuc Provoost <luc.provoost@gmail.com>
Fri, 30 Jun 2023 15:42:13 +0000 (17:42 +0200)
committerLuc Provoost <luc.provoost@gmail.com>
Mon, 24 Jul 2023 13:35:30 +0000 (13:35 +0000)
commit090efc9c81c8b1943d162249d965a3e40502d50e
tree54df06e1c0cdda4445838d203334d0615bd2cd40
parent809edd5270e8a22f2c29d711203d579fdf7addfb
Support packets in flight

The handle_esp_bulk function might enqueue packets on a QAT device.
These packets are not necessarily dequeued in the same call to the
handle_bulk function since they might be asynchronously processed.
Therefore, in some cases, we need to call this handle_bulk
function again later, even when no new packets are received on the rx
queue. To achieve this, the TASK_FEATURE_ZERO_RX flag is set.
The number of packets in flight are stored to decide if packets need
to be dequeued or not.
The handle_esp_bulk function will continue to dequeue packets till
none are left, even in case no new packets arrive.

Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I15e5b92c2413a1d3823557f70b1f437b35ca5a12
VNFs/DPPD-PROX/handle_esp.c
VNFs/DPPD-PROX/main.c
VNFs/DPPD-PROX/task_base.h
VNFs/DPPD-PROX/thread_generic.c