Add support for detection of misordered packets per flow 28/73128/2
authorXavier Simonart <simonartxavier@gmail.com>
Thu, 30 Dec 2021 10:24:15 +0000 (10:24 +0000)
committerXavier Simonart <simonartxavier@gmail.com>
Mon, 3 Jan 2022 15:10:00 +0000 (15:10 +0000)
commit971d163b345ab3f74d6a5252722371dc17a8fe7a
treef9103fac18a5ef0fc9e99638d5abc26f08bb9a82
parentba5ffcd0031bdf1f4781d9dcf224b5cb75aee922
Add support for detection of misordered packets per flow

Only flows from ranges are supported so far. This means that
flows generated through randoms are not supported yet.

Misordered packets can now be detected per flow.
flow definition is hard-coded as 5 tuple (proto, ip/udp src/dst).
The generator writes flow_id and packet_id within the packets (4 + 5 bytes).
This means that, if all latency, packet_id, signature, accuracy, flow_id and packet_id_in_flow
parameters are set, the minimum packet size is 72 bytes.

This feature is enabled through the following parameters:
On the gen side:
- packet id in flow pos: position (5 bytes) for packet id
- flow id pos: flow id pos (4 bytes)

On the lat side
- flow_count: the number of flows received by the latency core. If not enough
  flows are configured, then an error message is displayed (once) and packet_reordering
  count is only measured for those flows
- packet id in flow pos: position (5 bytes) for packet id
- flow id pos: flow id pos (4 bytes)

Misordered packets (and extent) are reported per core as before.
No change related to duplicate packets (not measured per flow as a duplicate packet is not per flow...).

Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I07517df87dfebec81408baf1decb647d9a0edd94
VNFs/DPPD-PROX/handle_gen.c
VNFs/DPPD-PROX/handle_lat.c
VNFs/DPPD-PROX/prox_args.c
VNFs/DPPD-PROX/task_init.h