From ace499fbbdd44cbb9c0d68d6aad40e0b280d54de Mon Sep 17 00:00:00 2001 From: Xavier Simonart Date: Thu, 2 Jul 2020 10:02:40 +0200 Subject: Added support for reporting packet (mis)order. The "Latency" screen has been updated with 3 columns: - mis-ordered Count the number of mis-ordered packets. - extent: Gives an indication of how mis-ordered the packets are. Receiving packet "x - 5" after receiving packet "x" will cause an extent of 5. - duplicate: Count number of duplicate packets. Following commands have been added for the impair mode: - proba no drop: replaces the former "probability" command. Percentage of forwarded packets. So 99.5 means 0.5% of packet drop. - proba delay Percentage of delayed packets for the impair mode. - proba duplicate Percentage of duplicate packets. Similar parameters are supported within the config files: - proba no drop - proba delay - proba duplicate Note: it is recommanded to use the signature when measuring packet misorder, as otherwise unexpected packet would cause miscounts. Change-Id: I037f606f264d6e2bd7f123df5ed57ab7df8386d7 Signed-off-by: Xavier Simonart --- VNFs/DPPD-PROX/handle_lat.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'VNFs/DPPD-PROX/handle_lat.h') diff --git a/VNFs/DPPD-PROX/handle_lat.h b/VNFs/DPPD-PROX/handle_lat.h index a80afc90..475682ce 100644 --- a/VNFs/DPPD-PROX/handle_lat.h +++ b/VNFs/DPPD-PROX/handle_lat.h @@ -52,6 +52,9 @@ struct lat_test { uint64_t buckets[LAT_BUCKET_COUNT]; uint64_t bucket_size; uint64_t lost_packets; + uint64_t mis_ordered; + uint64_t extent; + uint64_t duplicate; }; static struct time_unit lat_test_get_accuracy_limit(struct lat_test *lat_test) @@ -157,6 +160,9 @@ static void lat_test_combine(struct lat_test *dst, struct lat_test *src) if (src->accuracy_limit_tsc > dst->accuracy_limit_tsc) dst->accuracy_limit_tsc = src->accuracy_limit_tsc; dst->lost_packets += src->lost_packets; + dst->mis_ordered += src->mis_ordered; + dst->extent += src->extent; + dst->duplicate += src->duplicate; #ifdef LATENCY_HISTOGRAM _lat_test_histogram_combine(dst, src); @@ -178,6 +184,9 @@ static void lat_test_reset(struct lat_test *lat_test) lat_test->accuracy_limit_tsc = 0; lat_test->lost_packets = 0; + lat_test->mis_ordered = 0; + lat_test->extent = 0; + lat_test->duplicate = 0; memset(lat_test->buckets, 0, sizeof(lat_test->buckets)); } -- cgit 1.2.3-korg