From cc5bc5bab2fd77579e53c740b54ea43b9b88a746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Mon, 11 Aug 2025 09:50:27 +0200 Subject: [PATCH 1/2] tests: Support computing Jain's fairness index for tcp_n{up,down} MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The tcp_n{up,down} tests did not include the runners and plot definitions for Jain's fairness index. Add them, as straight-forward copies of the definitions from the rtt_fair tests. Signed-off-by: Toke Høiland-Jørgensen --- flent/tests/tcp_ndown.conf | 18 ++++++++++++++++-- flent/tests/tcp_nup.conf | 19 +++++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/flent/tests/tcp_ndown.conf b/flent/tests/tcp_ndown.conf index 92658fe6..3c8e9bc5 100644 --- a/flent/tests/tcp_ndown.conf +++ b/flent/tests/tcp_ndown.conf @@ -8,13 +8,17 @@ STREAMS=get_test_parameter('download_streams', cast=int) DATA_SETS = o([ ('TCP download avg', - {'apply_to': [glob("TCP download::*", exclude=["TCP download sum"])], + {'apply_to': [glob("TCP download::*", exclude=["TCP download sum", "TCP download fairness"])], 'units': 'Mbits/s', 'runner': 'average',}), ('TCP download sum', - {'apply_to': [glob("TCP download::*", exclude=["TCP download avg"])], + {'apply_to': [glob("TCP download::*", exclude=["TCP download avg", "TCP download fairness"])], 'units': 'Mbits/s', 'runner': 'sum',}), + ('TCP download fairness', + {'apply_to': [glob("TCP download*", exclude=["TCP download avg", "TCP download sum"])], + 'units': 'Idx', + 'runner': 'fairness',}), ('Ping (ms) ICMP', {'ip_version': IP_VERSION, 'interval': STEP_SIZE, 'length': TOTAL_LENGTH, 'host': HOST, 'units': 'ms', 'runner': 'ping'}), @@ -121,6 +125,16 @@ PLOTS = o([ {'description': 'Download bandwidth combination bar plot', 'parent': 'box_combine', 'type': 'bar_combine'}), + ('bar_fairness', + {'description': 'Jain\'s fairness combined bar plot', + 'type': 'bar_combine', + 'cutoff': (DELAY,-DELAY), + 'group_by': 'groups', + 'axis_labels': ['Fairness index'], + 'series': [{'data': 'TCP download fairness', + 'label': 'Download fairness', + 'combine_mode': 'mean'}]}), + ]) diff --git a/flent/tests/tcp_nup.conf b/flent/tests/tcp_nup.conf index e00ef3ec..064f0b09 100644 --- a/flent/tests/tcp_nup.conf +++ b/flent/tests/tcp_nup.conf @@ -8,13 +8,17 @@ STREAMS=get_test_parameter('upload_streams', cast=int) DATA_SETS = o([ ('TCP upload avg', - {'apply_to': [glob("TCP upload::*", exclude=["TCP upload sum"])], + {'apply_to': [glob("TCP upload::*", exclude=["TCP upload sum", "TCP upload fairness"])], 'units': 'Mbits/s', 'runner': 'average',}), ('TCP upload sum', - {'apply_to': [glob("TCP upload::*", exclude=["TCP upload avg"])], + {'apply_to': [glob("TCP upload::*", exclude=["TCP upload avg", "TCP upload fairness"])], 'units': 'Mbits/s', 'runner': 'sum',}), + ('TCP upload fairness', + {'apply_to': [glob("TCP upload*", exclude=["TCP upload avg", "TCP upload sum"])], + 'units': 'Idx', + 'runner': 'fairness',}), ('Ping (ms) ICMP', {'ip_version': IP_VERSION, 'interval': STEP_SIZE, 'length': TOTAL_LENGTH, 'host': HOST, 'units': 'ms', 'runner': 'ping'}), @@ -178,6 +182,17 @@ PLOTS = o([ {'description': 'Upload bandwidth combination bar plot', 'parent': 'box_combine', 'type': 'bar_combine'}), + + ('bar_fairness', + {'description': 'Jain\'s fairness combined bar plot', + 'type': 'bar_combine', + 'cutoff': (DELAY,-DELAY), + 'group_by': 'groups', + 'axis_labels': ['Fairness index'], + 'series': [{'data': 'TCP upload fairness', + 'label': 'Upload fairness', + 'combine_mode': 'mean'}]}), + ]) From bf32ae798764d6c1de211b6757f3abd3faf8e031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Tue, 12 Aug 2025 14:10:17 +0200 Subject: [PATCH 2/2] tcp_nup/tcp_ndown: Fix glob patterns for computing runners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The glob pattern for the fairness runner was missing the :: delimiter; also, we don't really need the excludes since the delimiter is part of the glob pattern, so it can never match the computing runners themselves. Signed-off-by: Toke Høiland-Jørgensen --- flent/tests/tcp_ndown.conf | 6 +++--- flent/tests/tcp_nup.conf | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flent/tests/tcp_ndown.conf b/flent/tests/tcp_ndown.conf index 3c8e9bc5..2a3b10e9 100644 --- a/flent/tests/tcp_ndown.conf +++ b/flent/tests/tcp_ndown.conf @@ -8,15 +8,15 @@ STREAMS=get_test_parameter('download_streams', cast=int) DATA_SETS = o([ ('TCP download avg', - {'apply_to': [glob("TCP download::*", exclude=["TCP download sum", "TCP download fairness"])], + {'apply_to': [glob("TCP download::*")], 'units': 'Mbits/s', 'runner': 'average',}), ('TCP download sum', - {'apply_to': [glob("TCP download::*", exclude=["TCP download avg", "TCP download fairness"])], + {'apply_to': [glob("TCP download::*")], 'units': 'Mbits/s', 'runner': 'sum',}), ('TCP download fairness', - {'apply_to': [glob("TCP download*", exclude=["TCP download avg", "TCP download sum"])], + {'apply_to': [glob("TCP download::*")], 'units': 'Idx', 'runner': 'fairness',}), ('Ping (ms) ICMP', diff --git a/flent/tests/tcp_nup.conf b/flent/tests/tcp_nup.conf index 064f0b09..fd1dcb82 100644 --- a/flent/tests/tcp_nup.conf +++ b/flent/tests/tcp_nup.conf @@ -8,15 +8,15 @@ STREAMS=get_test_parameter('upload_streams', cast=int) DATA_SETS = o([ ('TCP upload avg', - {'apply_to': [glob("TCP upload::*", exclude=["TCP upload sum", "TCP upload fairness"])], + {'apply_to': [glob("TCP upload::*")], 'units': 'Mbits/s', 'runner': 'average',}), ('TCP upload sum', - {'apply_to': [glob("TCP upload::*", exclude=["TCP upload avg", "TCP upload fairness"])], + {'apply_to': [glob("TCP upload::*")], 'units': 'Mbits/s', 'runner': 'sum',}), ('TCP upload fairness', - {'apply_to': [glob("TCP upload*", exclude=["TCP upload avg", "TCP upload sum"])], + {'apply_to': [glob("TCP upload::*")], 'units': 'Idx', 'runner': 'fairness',}), ('Ping (ms) ICMP',