summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/task_init.h
diff options
context:
space:
mode:
authorXavier Simonart <simonartxavier@gmail.com>2021-12-30 10:24:15 +0000
committerXavier Simonart <simonartxavier@gmail.com>2022-01-03 15:10:00 +0000
commit971d163b345ab3f74d6a5252722371dc17a8fe7a (patch)
treef9103fac18a5ef0fc9e99638d5abc26f08bb9a82 /VNFs/DPPD-PROX/task_init.h
parentba5ffcd0031bdf1f4781d9dcf224b5cb75aee922 (diff)
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
Diffstat (limited to 'VNFs/DPPD-PROX/task_init.h')
-rw-r--r--VNFs/DPPD-PROX/task_init.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/VNFs/DPPD-PROX/task_init.h b/VNFs/DPPD-PROX/task_init.h
index 82a58259..53bfaf35 100644
--- a/VNFs/DPPD-PROX/task_init.h
+++ b/VNFs/DPPD-PROX/task_init.h
@@ -205,6 +205,9 @@ struct task_args {
struct range range[64];
char pcap_file[256];
uint32_t accur_pos;
+ uint32_t flow_id_pos;
+ uint32_t packet_id_in_flow_pos;
+ uint32_t flow_count;
uint32_t sig_pos;
uint32_t sig;
uint32_t lat_pos;