aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/dash/app
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2022-03-24 08:43:32 +0100
committerTibor Frank <tifrank@cisco.com>2022-03-29 11:09:59 +0000
commit47962ee624efeaec469473a5569b59bfd230babf (patch)
treed9ea8e832270b045379c07a65cc09ae102fa3b7d /resources/tools/dash/app
parent33477a13a4ab685bc4ace83a250b897c25a52583 (diff)
UTI: PoC - Read data from parquets
Change-Id: Ie53954b2b8695ed9e5415ea604a8f3b229552489 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'resources/tools/dash/app')
-rw-r--r--resources/tools/dash/app/app.ini1
-rw-r--r--resources/tools/dash/app/pal/__init__.py5
-rw-r--r--resources/tools/dash/app/pal/data/data.py202
-rw-r--r--resources/tools/dash/app/pal/data/data.yaml182
-rw-r--r--resources/tools/dash/app/pal/trending/data.py29
-rw-r--r--resources/tools/dash/app/pal/trending/graphs.py126
-rw-r--r--resources/tools/dash/app/pal/trending/layout.py143
-rw-r--r--resources/tools/dash/app/pal/trending/spec_test_selection.yaml1925
-rw-r--r--resources/tools/dash/app/pal/trending/trending.py3
9 files changed, 2426 insertions, 190 deletions
diff --git a/resources/tools/dash/app/app.ini b/resources/tools/dash/app/app.ini
index bff7c12c89..796f33235b 100644
--- a/resources/tools/dash/app/app.ini
+++ b/resources/tools/dash/app/app.ini
@@ -1,5 +1,6 @@
[uwsgi]
ini = :pal
+py-autoreload = 0
[pal]
module = wsgi:app
diff --git a/resources/tools/dash/app/pal/__init__.py b/resources/tools/dash/app/pal/__init__.py
index 863fd081e7..17264c8ac2 100644
--- a/resources/tools/dash/app/pal/__init__.py
+++ b/resources/tools/dash/app/pal/__init__.py
@@ -50,8 +50,9 @@ def init_app():
from .trending.trending import init_trending
app = init_trending(app)
- from .report.report import init_report
- app = init_report(app)
+ # Temporarily switched off
+ # from .report.report import init_report
+ # app = init_report(app)
return app
diff --git a/resources/tools/dash/app/pal/data/data.py b/resources/tools/dash/app/pal/data/data.py
new file mode 100644
index 0000000000..9ce09e7f8b
--- /dev/null
+++ b/resources/tools/dash/app/pal/data/data.py
@@ -0,0 +1,202 @@
+# Copyright (c) 2022 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Prepare data for Plotly Dash."""
+
+import logging
+from time import time
+
+import awswrangler as wr
+
+from yaml import load, FullLoader, YAMLError
+from awswrangler.exceptions import EmptyDataFrame, NoFilesFound
+
+
+class Data:
+ """
+ """
+
+ def __init__(self, data_spec_file, debug=False):
+ """
+ """
+
+ # Inputs:
+ self._data_spec_file = data_spec_file
+ self._debug = debug
+
+ # Specification of data to be read from parquets:
+ self._data_spec = None
+
+ # Data frame to keep the data:
+ self._data = None
+
+ # Read from files:
+ try:
+ with open(self._data_spec_file, "r") as file_read:
+ self._data_spec = load(file_read, Loader=FullLoader)
+ except IOError as err:
+ raise RuntimeError(
+ f"Not possible to open the file {self._data_spec_file,}\n{err}"
+ )
+ except YAMLError as err:
+ raise RuntimeError(
+ f"An error occurred while parsing the specification file "
+ f"{self._data_spec_file,}\n"
+ f"{err}"
+ )
+
+ @property
+ def data(self):
+ return self._data
+
+ def _get_columns(self, parquet):
+ try:
+ return self._data_spec[parquet]["columns"]
+ except KeyError as err:
+ raise RuntimeError(
+ f"The parquet {parquet} is not defined in the specification "
+ f"file {self._data_spec_file} or it does not have any columns "
+ f"specified.\n{err}"
+ )
+
+ def _get_path(self, parquet):
+ try:
+ return self._data_spec[parquet]["path"]
+ except KeyError as err:
+ raise RuntimeError(
+ f"The parquet {parquet} is not defined in the specification "
+ f"file {self._data_spec_file} or it does not have the path "
+ f"specified.\n{err}"
+ )
+
+ def _create_dataframe_from_parquet(self,
+ path, partition_filter=None, columns=None,
+ validate_schema=False, last_modified_begin=None,
+ last_modified_end=None):
+ """Read parquet stored in S3 compatible storage and returns Pandas
+ Dataframe.
+
+ :param path: S3 prefix (accepts Unix shell-style wildcards)
+ (e.g. s3://bucket/prefix) or list of S3 objects paths
+ (e.g. [s3://bucket/key0, s3://bucket/key1]).
+ :param partition_filter: Callback Function filters to apply on PARTITION
+ columns (PUSH-DOWN filter). This function MUST receive a single
+ argument (Dict[str, str]) where keys are partitions names and values
+ are partitions values. Partitions values will be always strings
+ extracted from S3. This function MUST return a bool, True to read
+ the partition or False to ignore it. Ignored if dataset=False.
+ :param columns: Names of columns to read from the file(s).
+ :param validate_schema: Check that individual file schemas are all the
+ same / compatible. Schemas within a folder prefix should all be the
+ same. Disable if you have schemas that are different and want to
+ disable this check.
+ :param last_modified_begin: Filter the s3 files by the Last modified
+ date of the object. The filter is applied only after list all s3
+ files.
+ :param last_modified_end: Filter the s3 files by the Last modified date
+ of the object. The filter is applied only after list all s3 files.
+ :type path: Union[str, List[str]]
+ :type partition_filter: Callable[[Dict[str, str]], bool], optional
+ :type columns: List[str], optional
+ :type validate_schema: bool, optional
+ :type last_modified_begin: datetime, optional
+ :type last_modified_end: datetime, optional
+ :returns: Pandas DataFrame or None if DataFrame cannot be fetched.
+ :rtype: DataFrame
+ """
+ df = None
+ start = time()
+ try:
+ df = wr.s3.read_parquet(
+ path=path,
+ path_suffix="parquet",
+ ignore_empty=True,
+ validate_schema=validate_schema,
+ use_threads=True,
+ dataset=True,
+ columns=columns,
+ partition_filter=partition_filter,
+ last_modified_begin=last_modified_begin,
+ last_modified_end=last_modified_end
+ )
+ if self._debug:
+ df.info(verbose=True, memory_usage='deep')
+ logging.info(
+ u"\n"
+ f"Creation of dataframe {path} took: {time() - start}"
+ u"\n"
+ f"{df}"
+ u"\n"
+ )
+ except NoFilesFound as err:
+ logging.error(f"No parquets found.\n{err}")
+ except EmptyDataFrame as err:
+ logging.error(f"No data.\n{err}")
+
+ self._data = df
+ return df
+
+ def read_stats(self):
+ """Read Suite Result Analysis data partition from parquet.
+ """
+ lambda_f = lambda part: True if part["stats_type"] == "sra" else False
+
+ return self._create_dataframe_from_parquet(
+ path=self._get_path("statistics"),
+ partition_filter=lambda_f,
+ columns=None # Get all columns.
+ )
+
+ def read_trending_mrr(self):
+ """Read MRR data partition from parquet.
+ """
+ lambda_f = lambda part: True if part["test_type"] == "mrr" else False
+
+ return self._create_dataframe_from_parquet(
+ path=self._get_path("trending-mrr"),
+ partition_filter=lambda_f,
+ columns=self._get_columns("trending-mrr")
+ )
+
+ def read_trending_ndrpdr(self):
+ """Read NDRPDR data partition from iterative parquet.
+ """
+ lambda_f = lambda part: True if part["test_type"] == "ndrpdr" else False
+
+ return self._create_dataframe_from_parquet(
+ path=self._get_path("trending-ndrpdr"),
+ partition_filter=lambda_f,
+ columns=self._get_columns("trending-ndrpdr")
+ )
+
+ def read_iterative_mrr(self):
+ """Read MRR data partition from iterative parquet.
+ """
+ lambda_f = lambda part: True if part["test_type"] == "mrr" else False
+
+ return self._create_dataframe_from_parquet(
+ path=self._get_path("iterative-mrr"),
+ partition_filter=lambda_f,
+ columns=self._get_columns("iterative-mrr")
+ )
+
+ def read_iterative_ndrpdr(self):
+ """Read NDRPDR data partition from parquet.
+ """
+ lambda_f = lambda part: True if part["test_type"] == "ndrpdr" else False
+
+ return self._create_dataframe_from_parquet(
+ path=self._get_path("iterative-ndrpdr"),
+ partition_filter=lambda_f,
+ columns=self._get_columns("iterative-ndrpdr")
+ )
diff --git a/resources/tools/dash/app/pal/data/data.yaml b/resources/tools/dash/app/pal/data/data.yaml
new file mode 100644
index 0000000000..45e7f6b7ed
--- /dev/null
+++ b/resources/tools/dash/app/pal/data/data.yaml
@@ -0,0 +1,182 @@
+statistics:
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/stats
+trending-mrr:
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/trending
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - test_name_long
+ - test_name_short
+ - version
+ - result_receive_rate_rate_avg
+ - result_receive_rate_rate_stdev
+ - result_receive_rate_rate_unit
+ - result_receive_rate_rate_values
+trending-ndrpdr:
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/trending
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - test_name_long
+ - test_name_short
+ - version
+ - result_pdr_upper_rate_unit
+ - result_pdr_upper_rate_value
+ - result_pdr_upper_bandwidth_unit
+ - result_pdr_upper_bandwidth_value
+ - result_pdr_lower_rate_unit
+ - result_pdr_lower_rate_value
+ - result_pdr_lower_bandwidth_unit
+ - result_pdr_lower_bandwidth_value
+ - result_ndr_upper_rate_unit
+ - result_ndr_upper_rate_value
+ - result_ndr_upper_bandwidth_unit
+ - result_ndr_upper_bandwidth_value
+ - result_ndr_lower_rate_unit
+ - result_ndr_lower_rate_value
+ - result_ndr_lower_bandwidth_unit
+ - result_ndr_lower_bandwidth_value
+ - result_latency_reverse_pdr_90_avg
+ - result_latency_reverse_pdr_90_hdrh
+ - result_latency_reverse_pdr_90_max
+ - result_latency_reverse_pdr_90_min
+ - result_latency_reverse_pdr_90_unit
+ - result_latency_reverse_pdr_50_avg
+ - result_latency_reverse_pdr_50_hdrh
+ - result_latency_reverse_pdr_50_max
+ - result_latency_reverse_pdr_50_min
+ - result_latency_reverse_pdr_50_unit
+ - result_latency_reverse_pdr_10_avg
+ - result_latency_reverse_pdr_10_hdrh
+ - result_latency_reverse_pdr_10_max
+ - result_latency_reverse_pdr_10_min
+ - result_latency_reverse_pdr_10_unit
+ - result_latency_reverse_pdr_0_avg
+ - result_latency_reverse_pdr_0_hdrh
+ - result_latency_reverse_pdr_0_max
+ - result_latency_reverse_pdr_0_min
+ - result_latency_reverse_pdr_0_unit
+ - result_latency_forward_pdr_90_avg
+ - result_latency_forward_pdr_90_hdrh
+ - result_latency_forward_pdr_90_max
+ - result_latency_forward_pdr_90_min
+ - result_latency_forward_pdr_90_unit
+ - result_latency_forward_pdr_50_avg
+ - result_latency_forward_pdr_50_hdrh
+ - result_latency_forward_pdr_50_max
+ - result_latency_forward_pdr_50_min
+ - result_latency_forward_pdr_50_unit
+ - result_latency_forward_pdr_10_avg
+ - result_latency_forward_pdr_10_hdrh
+ - result_latency_forward_pdr_10_max
+ - result_latency_forward_pdr_10_min
+ - result_latency_forward_pdr_10_unit
+ - result_latency_forward_pdr_0_avg
+ - result_latency_forward_pdr_0_hdrh
+ - result_latency_forward_pdr_0_max
+ - result_latency_forward_pdr_0_min
+ - result_latency_forward_pdr_0_unit
+iterative-mrr:
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2202
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - test_name_long
+ - test_name_short
+ - version
+ - result_receive_rate_rate_avg
+ - result_receive_rate_rate_stdev
+ - result_receive_rate_rate_unit
+ - result_receive_rate_rate_values
+iterative-ndrpdr:
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2202
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - test_name_long
+ - test_name_short
+ - version
+ - result_pdr_upper_rate_unit
+ - result_pdr_upper_rate_value
+ - result_pdr_upper_bandwidth_unit
+ - result_pdr_upper_bandwidth_value
+ - result_pdr_lower_rate_unit
+ - result_pdr_lower_rate_value
+ - result_pdr_lower_bandwidth_unit
+ - result_pdr_lower_bandwidth_value
+ - result_ndr_upper_rate_unit
+ - result_ndr_upper_rate_value
+ - result_ndr_upper_bandwidth_unit
+ - result_ndr_upper_bandwidth_value
+ - result_ndr_lower_rate_unit
+ - result_ndr_lower_rate_value
+ - result_ndr_lower_bandwidth_unit
+ - result_ndr_lower_bandwidth_value
+ - result_latency_reverse_pdr_90_avg
+ - result_latency_reverse_pdr_90_hdrh
+ - result_latency_reverse_pdr_90_max
+ - result_latency_reverse_pdr_90_min
+ - result_latency_reverse_pdr_90_unit
+ - result_latency_reverse_pdr_50_avg
+ - result_latency_reverse_pdr_50_hdrh
+ - result_latency_reverse_pdr_50_max
+ - result_latency_reverse_pdr_50_min
+ - result_latency_reverse_pdr_50_unit
+ - result_latency_reverse_pdr_10_avg
+ - result_latency_reverse_pdr_10_hdrh
+ - result_latency_reverse_pdr_10_max
+ - result_latency_reverse_pdr_10_min
+ - result_latency_reverse_pdr_10_unit
+ - result_latency_reverse_pdr_0_avg
+ - result_latency_reverse_pdr_0_hdrh
+ - result_latency_reverse_pdr_0_max
+ - result_latency_reverse_pdr_0_min
+ - result_latency_reverse_pdr_0_unit
+ - result_latency_forward_pdr_90_avg
+ - result_latency_forward_pdr_90_hdrh
+ - result_latency_forward_pdr_90_max
+ - result_latency_forward_pdr_90_min
+ - result_latency_forward_pdr_90_unit
+ - result_latency_forward_pdr_50_avg
+ - result_latency_forward_pdr_50_hdrh
+ - result_latency_forward_pdr_50_max
+ - result_latency_forward_pdr_50_min
+ - result_latency_forward_pdr_50_unit
+ - result_latency_forward_pdr_10_avg
+ - result_latency_forward_pdr_10_hdrh
+ - result_latency_forward_pdr_10_max
+ - result_latency_forward_pdr_10_min
+ - result_latency_forward_pdr_10_unit
+ - result_latency_forward_pdr_0_avg
+ - result_latency_forward_pdr_0_hdrh
+ - result_latency_forward_pdr_0_max
+ - result_latency_forward_pdr_0_min
+ - result_latency_forward_pdr_0_unit
+# coverage-ndrpdr:
+# path: str
+# columns:
+# - list \ No newline at end of file
diff --git a/resources/tools/dash/app/pal/trending/data.py b/resources/tools/dash/app/pal/trending/data.py
deleted file mode 100644
index a4f183be96..0000000000
--- a/resources/tools/dash/app/pal/trending/data.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2022 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Prepare data for Plotly Dash.
-"""
-
-import pandas as pd
-
-
-def read_data():
- """Create Pandas DataFrame from local CSV.
-
- Only for DEMO
- """
-
- return pd.read_csv(
- u"https://s3-docs.fd.io/csit/master/trending/_static/vpp/"
- u"csit-vpp-perf-mrr-weekly-master-2n-aws-trending.csv"
- )
diff --git a/resources/tools/dash/app/pal/trending/graphs.py b/resources/tools/dash/app/pal/trending/graphs.py
new file mode 100644
index 0000000000..a20ce8efd4
--- /dev/null
+++ b/resources/tools/dash/app/pal/trending/graphs.py
@@ -0,0 +1,126 @@
+# Copyright (c) 2022 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+"""
+
+
+import plotly.graph_objects as go
+import pandas as pd
+import re
+
+from datetime import datetime
+
+from dash import no_update
+
+
+def trending_tput(data: pd.DataFrame, sel:dict, layout: dict, start: datetime,
+ end: datetime):
+ """
+ """
+
+ if not sel:
+ return no_update, no_update
+
+ def _generate_trace(ttype: str, name: str, df: pd.DataFrame,
+ start: datetime, end: datetime):
+
+ value = {
+ "mrr": "result_receive_rate_rate_avg",
+ "ndr": "result_ndr_lower_rate_value",
+ "pdr": "result_pdr_lower_rate_value"
+ }
+ unit = {
+ "mrr": "result_receive_rate_rate_unit",
+ "ndr": "result_ndr_lower_rate_unit",
+ "pdr": "result_pdr_lower_rate_unit"
+ }
+
+ x_axis = [
+ d for d in df["start_time"] if d >= start and d <= end
+ ]
+ hover_txt = list()
+ for _, row in df.iterrows():
+ hover_itm = (
+ f"date: "
+ f"{row['start_time'].strftime('%d-%m-%Y %H:%M:%S')}<br>"
+ f"average [{row[unit[ttype]]}]: "
+ f"{row[value[ttype]]}<br>"
+ f"{row['dut_type']}-ref: {row['dut_version']}<br>"
+ f"csit-ref: {row['job']}/{row['build']}"
+ )
+ if ttype == "mrr":
+ stdev = (
+ f"stdev [{row['result_receive_rate_rate_unit']}]: "
+ f"{row['result_receive_rate_rate_stdev']}<br>"
+ )
+ else:
+ stdev = ""
+ hover_itm = hover_itm.replace("<stdev>", stdev)
+ hover_txt.append(hover_itm)
+
+ return go.Scatter(
+ x=x_axis,
+ y=df[value[ttype]],
+ name=name,
+ mode="markers+lines",
+ text=hover_txt,
+ hoverinfo=u"text+name"
+ )
+
+ # Generate graph:
+ fig = go.Figure()
+ for itm in sel:
+ phy = itm["phy"].split("-")
+ if len(phy) == 4:
+ topo, arch, nic, drv = phy
+ if drv in ("dpdk", "ixgbe"):
+ drv = ""
+ else:
+ drv += "-"
+ else:
+ continue
+ cadence = \
+ "weekly" if (arch == "aws" or itm["testtype"] != "mrr") else "daily"
+ sel_topo_arch = (
+ f"csit-vpp-perf-"
+ f"{itm['testtype'] if itm['testtype'] == 'mrr' else 'ndrpdr'}-"
+ f"{cadence}-master-{topo}-{arch}"
+ )
+ df_sel = data.loc[(data["job"] == sel_topo_arch)]
+ regex = (
+ f"^.*{nic}.*\.{itm['framesize']}-{itm['core']}-{drv}{itm['test']}-"
+ f"{'mrr' if itm['testtype'] == 'mrr' else 'ndrpdr'}$"
+ )
+ df = df_sel.loc[
+ df_sel["test_id"].apply(
+ lambda x: True if re.search(regex, x) else False
+ )
+ ].sort_values(by="start_time", ignore_index=True)
+ name = (
+ f"{itm['phy']}-{itm['framesize']}-{itm['core']}-"
+ f"{itm['test']}-{itm['testtype']}"
+ )
+ fig.add_trace(_generate_trace(itm['testtype'], name, df, start, end))
+
+ style={
+ "vertical-align": "top",
+ "display": "inline-block",
+ "width": "80%",
+ "padding": "5px"
+ }
+
+ layout = layout.get("plot-trending", dict())
+ fig.update_layout(layout)
+
+ return fig, style
diff --git a/resources/tools/dash/app/pal/trending/layout.py b/resources/tools/dash/app/pal/trending/layout.py
index 9153081cc3..081f977852 100644
--- a/resources/tools/dash/app/pal/trending/layout.py
+++ b/resources/tools/dash/app/pal/trending/layout.py
@@ -15,7 +15,7 @@
"""
-import plotly.graph_objects as go
+import pandas as pd
from dash import dcc
from dash import html
@@ -25,16 +25,16 @@ from dash.exceptions import PreventUpdate
from yaml import load, FullLoader, YAMLError
from datetime import datetime, timedelta
-from pprint import pformat
-
-from .data import read_data
+from ..data.data import Data
+from .graphs import trending_tput
class Layout:
"""
"""
- def __init__(self, app, html_layout_file, spec_file, graph_layout_file):
+ def __init__(self, app, html_layout_file, spec_file, graph_layout_file,
+ data_spec_file):
"""
"""
@@ -43,9 +43,20 @@ class Layout:
self._html_layout_file = html_layout_file
self._spec_file = spec_file
self._graph_layout_file = graph_layout_file
+ self._data_spec_file = data_spec_file
# Read the data:
- self._data = read_data()
+ data_mrr = Data(
+ data_spec_file=self._data_spec_file,
+ debug=True
+ ).read_trending_mrr()
+
+ data_ndrpdr = Data(
+ data_spec_file=self._data_spec_file,
+ debug=True
+ ).read_trending_ndrpdr()
+
+ self._data = pd.concat([data_mrr, data_ndrpdr], ignore_index=True)
# Read from files:
self._html_layout = ""
@@ -105,6 +116,10 @@ class Layout:
def data(self):
return self._data
+ @property
+ def layout(self):
+ return self._graph_layout
+
def add_content(self):
"""
"""
@@ -195,9 +210,6 @@ class Layout:
)
]
),
- # Debug output, TODO: Remove
- html.H5("Debug output"),
- html.Pre(id="div-ctrl-info")
]
)
@@ -289,11 +301,12 @@ class Layout:
html.Br(),
dcc.DatePickerRange(
id="dpr-period",
- min_date_allowed=datetime(2021, 1, 1),
+ min_date_allowed=datetime.utcnow() - timedelta(days=180),
max_date_allowed=datetime.utcnow(),
initial_visible_month=datetime.utcnow(),
start_date=datetime.utcnow() - timedelta(days=180),
- end_date=datetime.utcnow()
+ end_date=datetime.utcnow(),
+ display_format="D MMMM YY"
)
]
)
@@ -446,7 +459,6 @@ class Layout:
@app.callback(
Output("graph", "figure"),
- Output("div-ctrl-info", "children"), # Debug output TODO: Remove
Output("selected-tests", "data"), # Store
Output("cl-selected", "options"), # User selection
Output("dd-ctrl-phy", "value"),
@@ -525,12 +537,14 @@ class Layout:
"core": core.lower(),
"testtype": ttype.lower()
})
- return (no_update, no_update, store_sel, _list_tests(), None,
+ return (no_update, store_sel, _list_tests(), None,
None, None, no_update)
elif trigger_id in ("btn-sel-display", "dpr-period"):
- fig, style = _update_graph(store_sel, d_start, d_end)
- return (fig, pformat(store_sel), no_update, no_update,
+ fig, style = trending_tput(
+ self.data, store_sel, self.layout, d_start, d_end
+ )
+ return (fig, no_update, no_update,
no_update, no_update, no_update, style)
elif trigger_id == "btn-sel-remove":
@@ -540,91 +554,18 @@ class Layout:
if item["id"] not in list_sel:
new_store_sel.append(item)
store_sel = new_store_sel
- fig, style = _update_graph(store_sel, d_start, d_end)
- return (fig, pformat(store_sel), store_sel, _list_tests(),
- no_update, no_update, no_update, style)
-
- def _update_graph(sel, start, end):
- """
- """
-
- if not sel:
- return no_update, no_update
-
- def _is_selected(label, sel):
- for itm in sel:
- phy = itm["phy"].split("-")
- if len(phy) == 4:
- topo, arch, nic, drv = phy
- else:
- continue
- if nic not in label:
- continue
- if drv != "dpdk" and drv not in label:
- continue
- if itm["test"] not in label:
- continue
- if itm["framesize"] not in label:
- continue
- if itm["core"] not in label:
- continue
- if itm["testtype"] not in label:
- continue
- return (
- f"{itm['phy']}-{itm['framesize']}-{itm['core']}-"
- f"{itm['test']}-{itm['testtype']}"
+ if store_sel:
+ fig, style = trending_tput(
+ self.data, store_sel, self.layout, d_start, d_end
)
+ return (fig, store_sel, _list_tests(),
+ no_update, no_update, no_update, style)
else:
- return None
-
- style={
- "vertical-align": "top",
- "display": "inline-block",
- "width": "80%",
- "padding": "5px"
- }
-
- fig = go.Figure()
- dates = self.data.iloc[[0], 1:].values.flatten().tolist()[::-1]
- x_data = [
- datetime(
- int(date[0:4]), int(date[4:6]), int(date[6:8]),
- int(date[9:11]), int(date[12:])
- ) for date in dates
- ]
- x_data_range = [
- date for date in x_data if date >= start and date <= end
- ]
- vpp = self.data.iloc[[1], 1:].values.flatten().tolist()[::-1]
- csit = list(self.data.columns[1:])[::-1]
- labels = list(self.data["Build Number:"][3:])
- for i in range(3, len(self.data)):
- name = _is_selected(labels[i-3], sel)
- if not name:
- continue
- y_data = [
- float(v) / 1e6 for v in \
- self.data.iloc[[i], 1:].values.flatten().tolist()[::-1]
- ]
- hover_txt = list()
- for x_idx, x_itm in enumerate(x_data):
- hover_txt.append(
- f"date: {x_itm}<br>"
- f"average [Mpps]: {y_data[x_idx]}<br>"
- f"vpp-ref: {vpp[x_idx]}<br>"
- f"csit-ref: {csit[x_idx]}"
- )
- fig.add_trace(
- go.Scatter(
- x=x_data_range,
- y= y_data,
- name=name,
- mode="markers+lines",
- text=hover_txt,
- hoverinfo=u"text+name"
- )
- )
- layout = self._graph_layout.get("plot-trending", dict())
- fig.update_layout(layout)
-
- return fig, style
+ style={
+ "vertical-align": "top",
+ "display": "none",
+ "width": "80%",
+ "padding": "5px"
+ }
+ return (no_update, store_sel, _list_tests(),
+ no_update, no_update, no_update, style)
diff --git a/resources/tools/dash/app/pal/trending/spec_test_selection.yaml b/resources/tools/dash/app/pal/trending/spec_test_selection.yaml
index fe99801afe..4d177c0737 100644
--- a/resources/tools/dash/app/pal/trending/spec_test_selection.yaml
+++ b/resources/tools/dash/app/pal/trending/spec_test_selection.yaml
@@ -5,7 +5,7 @@
- ethip4-ip4base
core: [1C, 2C]
frame-size: [64B, 1518B]
- test-type: [MRR, NDR, PDR]
+ test-type: [MRR, ]
ip4-scale:
label: IPv4 Routing Scale
test:
@@ -13,14 +13,14 @@
- ethip4-ip4scale20k-rnd
core: [1C, 2C]
frame-size: [64B, 1518B]
- test-type: [MRR, NDR, PDR]
+ test-type: [MRR, ]
ip6-base:
label: IPv6 Routing Base
test:
- ethip6-ip4base
core: [1C, 2C]
frame-size: [78B, 1518B]
- test-type: [MRR, NDR, PDR]
+ test-type: [MRR, ]
ip6-scale:
label: IPv6 Routing Scale
test:
@@ -28,50 +28,1429 @@
- ethip6-ip4scale20k-rnd
core: [1C, 2C]
frame-size: [78B, 1518B]
+ test-type: [MRR, ]
+2n-clx-100ge2p1cx556a-rdma:
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-clx-10ge2p1x710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
test-type: [MRR, NDR, PDR]
-# 2n-clx-cx556a-rdma:
-# 2n-clx-x710-avf:
-# 2n-clx-x710-dpdk:
-# 2n-clx-xxv710-af_xdp:
-# 2n-clx-xxv710-avf:
-# l2-base:
-# l2-scale:
-# ip4-base:
-# ip4-scale:
-# ip4-features:
-# ip6-base:
-# ip6-scale:
-# ethip4-ethip4udpgeneve:
-# nat44det-ip4-stl-bidir:
-# nat44ed-ip4-stl-unidir:
-# nat44ed-ip4-udp-stf-cps:
-# nat44ed-ip4-tcp-stf-cps:
-# nat44ed-ip4-udp-stf-pps:
-# nat44ed-ip4-tcp-stf-pps:
-# nat44ed-ip4-udp-tput:
-# nat44ed-ip4-tcp-tput:
-# vhost-base:
-# memif-base:
-# vnf-service-chains-routing:
-# cnf-service-chains-routing:
-# cnf-service-pipelines-routing:
-# vnf-service-chains-tunnels:
-# 2n-clx-xxv710-dpdk:
-# 2n-dnv-x553-ixgbe:
-# 2n-icx-xxv710-avf:
-# 2n-icx-xxv710-dpdk:
-# 2n-skx-x710-avf:
-# 2n-skx-x710-dpdk:
-# 2n-skx-xxv710-avf:
-# 2n-skx-xxv710-dpdk:
-# 2n-tx2-xl710-af_xdp:
-# 2n-tx2-xl710-avf:
-# 2n-tx2-xl710-dpdk:
-# 2n-zn2-x710-avf:
-# 2n-zn2-x710-dpdk:
-# 2n-zn2-cx556a-rdma:
-# 2n-zn2-xxv710-avf:
-# 2n-zn2-xxv710-dpdk:
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-clx-10ge2p1x710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-clx-25ge2p1xxv710-af_xdp:
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-clx-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale200k
+ - ethip4-ip4scale2m
+ - ethip4-ip4scale20k-rnd
+ - ethip4-ip4scale200k-rnd
+ - ethip4-ip4scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ - ethip6-ip6scale200k
+ - ethip6-ip6scale200k-rnd
+ - ethip6-ip6scale2m
+ - ethip6-ip6scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ethip4-ethip4udpgeneve:
+ label: IPv4 Tunnels
+ test:
+ - ethip4--ethip4udpgeneve-1tun-ip4base
+ - ethip4--ethip4udpgeneve-4tun-ip4base
+ - ethip4--ethip4udpgeneve-16tun-ip4base
+ - ethip4--ethip4udpgeneve-64tun-ip4base
+ - ethip4--ethip4udpgeneve-256tun-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44det-ip4-stl-bidir:
+ label: NAT44 Deterministic BiDir
+ test:
+ - ethip4udp-nat44det-h1024-p63-s64512
+ - ethip4udp-nat44det-h16384-p63-s1032192
+ - ethip4udp-nat44det-h65536-p63-s4128758
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-stl-unidir:
+ label: NAT44 ED UniDir
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-udir
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-stf-cps:
+ label: NAT44 ED UDP CPS
+ test:
+ - ethip4udp-ip4base-h1024-p63-s64512-cps
+ - ethip4udp-ip4base-h16384-p63-s1032192-cps
+ - ethip4udp-ip4base-h65536-p63-s4128768-cps
+ - ethip4udp-nat44ed-h1024-p63-s64512-cps
+ - ethip4udp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4udp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-stf-cps:
+ label: NAT44 ED TCP CPS
+ test:
+ - ethip4tcp-ip4base-h1024-p63-s64512-cps
+ - ethip4tcp-ip4base-h16384-p63-s1032192-cps
+ - ethip4tcp-ip4base-h65536-p63-s4128768-cps
+ - ethip4tcp-nat44ed-h1024-p63-s64512-cps
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-tput:
+ label: NAT44 ED UDP TPUT
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-tput
+ - ethip4udp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4udp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-tput:
+ label: NAT44 ED TCP TPUT
+ test:
+ - ethip4tcp-nat44ed-h1024-p63-s64512-tput
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ # vnf-service-chains-routing:
+ # cnf-service-chains-routing:
+ # cnf-service-pipelines-routing:
+ # vnf-service-chains-tunnels:
+2n-clx-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-dnv-10ge2p1x553-ixgbe:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+2n-icx-25ge2p1xxv710-af_xdp:
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-icx-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale200k
+ - ethip4-ip4scale2m
+ - ethip4-ip4scale20k-rnd
+ - ethip4-ip4scale200k-rnd
+ - ethip4-ip4scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ - ethip6-ip6scale200k
+ - ethip6-ip6scale200k-rnd
+ - ethip6-ip6scale2m
+ - ethip6-ip6scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ethip4-ethip4udpgeneve:
+ label: IPv4 Tunnels
+ test:
+ - ethip4--ethip4udpgeneve-1tun-ip4base
+ - ethip4--ethip4udpgeneve-4tun-ip4base
+ - ethip4--ethip4udpgeneve-16tun-ip4base
+ - ethip4--ethip4udpgeneve-64tun-ip4base
+ - ethip4--ethip4udpgeneve-256tun-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44det-ip4-stl-bidir:
+ label: NAT44 Deterministic BiDir
+ test:
+ - ethip4udp-nat44det-h1024-p63-s64512
+ - ethip4udp-nat44det-h16384-p63-s1032192
+ - ethip4udp-nat44det-h65536-p63-s4128758
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-stl-unidir:
+ label: NAT44 ED UniDir
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-udir
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-stf-cps:
+ label: NAT44 ED UDP CPS
+ test:
+ - ethip4udp-ip4base-h1024-p63-s64512-cps
+ - ethip4udp-ip4base-h16384-p63-s1032192-cps
+ - ethip4udp-ip4base-h65536-p63-s4128768-cps
+ - ethip4udp-nat44ed-h1024-p63-s64512-cps
+ - ethip4udp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4udp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-stf-cps:
+ label: NAT44 ED TCP CPS
+ test:
+ - ethip4tcp-ip4base-h1024-p63-s64512-cps
+ - ethip4tcp-ip4base-h16384-p63-s1032192-cps
+ - ethip4tcp-ip4base-h65536-p63-s4128768-cps
+ - ethip4tcp-nat44ed-h1024-p63-s64512-cps
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-tput:
+ label: NAT44 ED UDP TPUT
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-tput
+ - ethip4udp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4udp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-tput:
+ label: NAT44 ED TCP TPUT
+ test:
+ - ethip4tcp-nat44ed-h1024-p63-s64512-tput
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-icx-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-skx-10ge2p1x710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-skx-10ge2p1x710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-skx-25ge2p1xxv710-af_xdp:
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+2n-skx-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale200k
+ - ethip4-ip4scale2m
+ - ethip4-ip4scale20k-rnd
+ - ethip4-ip4scale200k-rnd
+ - ethip4-ip4scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ - ethip6-ip6scale200k
+ - ethip6-ip6scale200k-rnd
+ - ethip6-ip6scale2m
+ - ethip6-ip6scale2m-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ethip4-ethip4udpgeneve:
+ label: IPv4 Tunnels
+ test:
+ - ethip4--ethip4udpgeneve-1tun-ip4base
+ - ethip4--ethip4udpgeneve-4tun-ip4base
+ - ethip4--ethip4udpgeneve-16tun-ip4base
+ - ethip4--ethip4udpgeneve-64tun-ip4base
+ - ethip4--ethip4udpgeneve-256tun-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44det-ip4-stl-bidir:
+ label: NAT44 Deterministic BiDir
+ test:
+ - ethip4udp-nat44det-h1024-p63-s64512
+ - ethip4udp-nat44det-h16384-p63-s1032192
+ - ethip4udp-nat44det-h65536-p63-s4128758
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-stl-unidir:
+ label: NAT44 ED UniDir
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-udir
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-stf-cps:
+ label: NAT44 ED UDP CPS
+ test:
+ - ethip4udp-ip4base-h1024-p63-s64512-cps
+ - ethip4udp-ip4base-h16384-p63-s1032192-cps
+ - ethip4udp-ip4base-h65536-p63-s4128768-cps
+ - ethip4udp-nat44ed-h1024-p63-s64512-cps
+ - ethip4udp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4udp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-stf-cps:
+ label: NAT44 ED TCP CPS
+ test:
+ - ethip4tcp-ip4base-h1024-p63-s64512-cps
+ - ethip4tcp-ip4base-h16384-p63-s1032192-cps
+ - ethip4tcp-ip4base-h65536-p63-s4128768-cps
+ - ethip4tcp-nat44ed-h1024-p63-s64512-cps
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-cps
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-cps
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-udp-tput:
+ label: NAT44 ED UDP TPUT
+ test:
+ - ethip4udp-nat44ed-h1024-p63-s64512-tput
+ - ethip4udp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4udp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ nat44ed-ip4-tcp-tput:
+ label: NAT44 ED TCP TPUT
+ test:
+ - ethip4tcp-nat44ed-h1024-p63-s64512-tput
+ - ethip4tcp-nat44ed-h16384-p63-s1032192-tput
+ - ethip4tcp-nat44ed-h65536-p63-s4128768-tput
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-skx-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ - eth-l2bdscale1mmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+2n-tx2-40ge2p1xl710-af_xdp:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale200k
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale200k
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+2n-tx2-40ge2p1xl710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-features:
+ label: L2 Ethernet Switching Features
+ test:
+ - eth-l2bdbasemaclrn-iacl50sf-10kflows
+ - eth-l2bdbasemaclrn-iacl50sl-10kflows
+ - eth-l2bdbasemaclrn-oacl50sf-10kflows
+ - eth-l2bdbasemaclrn-oacl50sl-10kflows
+ - eth-l2bdbasemaclrn-macip-iacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-udir
+ - ethip4ipsec4tnlsw-ip4base-int-aes128gcm-udir
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm-udir
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-udir
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128gcm-udir
+ - ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-udir
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-udir
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128gcm-udir
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-udir
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, ]
+ ipsec-policy:
+ label: IPSec IPv4 Routing Policy
+ test:
+ - ethip4ipsec1spe-cache-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec1spe-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec1tnlsw-ip4base-policy-aes256gcm-udir
+ - ethip4ipsec100spe-cache-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec100spe-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec1000spe-cache-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec1000spe-ip4base-policy-outbound-nocrypto
+ - ethip4ipsec1000tnlsw-ip4base-policy-aes256gcm-udir
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale200k
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4-ip4base-iacldstbase
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale200k
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-features:
+ label: IPv6 Routing Features
+ test:
+ - ethip6-ip6base-iacldstbase
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+2n-zn2-10ge2p1x710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+2n-zn2-10ge2p1x710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+2n-zn2-100ge2p1cx556a-rdma:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ - ethip6-ip6scale200k
+ - ethip6-ip6scale200k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+2n-zn2-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ - ethip6-ip6scale200k
+ - ethip6-ip6scale200k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ethip4-ethip4udpgeneve:
+ label: IPv4 Tunnels
+ test:
+ - ethip4--ethip4udpgeneve-1tun-ip4base
+ - ethip4--ethip4udpgeneve-4tun-ip4base
+ - ethip4--ethip4udpgeneve-16tun-ip4base
+ - ethip4--ethip4udpgeneve-64tun-ip4base
+ - ethip4--ethip4udpgeneve-256tun-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ nat44det-ip4-stl-bidir:
+ label: NAT44 Deterministic BiDir
+ test:
+ - ethip4udp-nat44det-h1024-p63-s64512
+ - ethip4udp-nat44det-h16384-p63-s1032192
+ - ethip4udp-nat44det-h65536-p63-s4128758
+ - ethip4udp-nat44det-h262144-p63-s16515072
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+2n-zn2-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ - eth-l2bdscale100kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ memif-base:
+ label: LXC/DRC Container Memif
+ test:
+ - eth-l2bdbasemaclrn-eth-2memif-1dcr
+ - eth-l2xcbase-eth-2memif-1dcr
+ - ethip4-ip4base-eth-2memif-1dcr
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
3n-aws-50ge1p1ena-dpdk:
ip4-base:
label: IPv4 Routing Base
@@ -79,8 +1458,7 @@
- ethip4-ip4base
core: [1C, 2C]
frame-size: [64B, 1518B]
- test-type: [MRR, NDR, PDR]
-
+ test-type: [MRR, ]
ip4-scale:
label: IPv4 Routing Scale
test:
@@ -88,19 +1466,452 @@
- ethip4-ip4scale20k-rnd
core: [1C, 2C]
frame-size: [64B, 1518B]
- test-type: [MRR, NDR, PDR]
-
+ test-type: [MRR, ]
ipsec-base:
label: IPSec IPv4 Routing Base
test:
- ethip4ipsec40tnlsw-ip4base-int-aes256gcm
core: [1C, 2C]
frame-size: [IMIX, 1518B]
+ test-type: [MRR, ]
+3n-dnv-10ge2p1x553-ixgbe:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-scale:
+ label: L2 Ethernet Switching Scale
+ test:
+ - eth-l2bdscale10kmaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-scale:
+ label: IPv4 Routing Scale
+ test:
+ - ethip4-ip4scale20k
+ - ethip4-ip4scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip6-scale:
+ label: IPv6 Routing Scale
+ test:
+ - ethip6-ip6scale20k
+ - ethip6-ip6scale20k-rnd
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4vxlan-l2xcbase
+ - ethip4vxlan-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, ]
+ ipsec-scheduler:
+ label: IPSec IPv4 Routing Scheduler
+ test:
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes256gcm
+ core: [2C, 3C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, ]
+3n-icx-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ srv6:
+ label: SRv6 Routing
+ test:
+ - ethip6ip6-ip6base-srv6enc1sid
+ - ethip6srhip6-ip6base-srv6enc2sids
+ - ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+ - ethip6srhip6-ip6base-srv6proxy-dyn
+ - ethip6srhip6-ip6base-srv6proxy-masq
+ - ethip6srhip6-ip6base-srv6proxy-stat
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4gtpusw-ip4base
+ - ethip4vxlan-l2bdbasemaclrn
+ - ethip4vxlan-l2xcbase
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec40tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec40tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1000tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+ ipsec-scheduler:
+ label: IPSec IPv4 Routing Scheduler
+ test:
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes256gcm
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes256gcm
+ core: [2C, 3C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+3n-icx-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4gtpusw-ip4base
+ - ethip4vxlan-l2bdbasemaclrn
+ - ethip4vxlan-l2xcbase
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec40tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+ ipsec-scheduler:
+ label: IPSec IPv4 Routing Scheduler
+ test:
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes256gcm
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes256gcm
+ core: [2C, 3C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+3n-skx-10ge2p1x710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+3n-skx-25ge2p1xxv710-avf:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4gtpusw-ip4base
+ - ethip4vxlan-l2bdbasemaclrn
+ - ethip4vxlan-l2xcbase
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ srv6:
+ label: SRv6 Routing
+ test:
+ - ethip6ip6-ip6base-srv6enc1sid
+ - ethip6srhip6-ip6base-srv6enc2sids
+ - ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+ - ethip6srhip6-ip6base-srv6proxy-dyn
+ - ethip6srhip6-ip6base-srv6proxy-masq
+ - ethip6srhip6-ip6base-srv6proxy-stat
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec40tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec40tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1000tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+ ipsec-scheduler:
+ label: IPSec IPv4 Routing Scheduler
+ test:
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes256gcm
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes256gcm
+ core: [2C, 3C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+3n-skx-25ge2p1xxv710-dpdk:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
test-type: [MRR, NDR, PDR]
-# 3n-dnv-x553-ixgbe:
-# 3n-icx-xxv710-avf:
-# 3n-icx-xxv710-dpdk:
-# 3n-skx-x710-avf:
-# 3n-skx-xxv710-avf:
-# 3n-skx-xxv710-dpdk:
-# 3n-tsh-x520-ixgbe:
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, NDR, PDR]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4gtpusw-ip4base
+ - ethip4vxlan-l2bdbasemaclrn
+ - ethip4vxlan-l2xcbase
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, NDR, PDR]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec40tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+ ipsec-scheduler:
+ label: IPSec IPv4 Routing Scheduler
+ test:
+ - ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes256gcm
+ - ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes256gcm
+ core: [2C, 3C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, NDR, PDR]
+3n-tsh-10ge2p1x520-ixgbe:
+ l2-base:
+ label: L2 Ethernet Switching Base
+ test:
+ - dot1q-l2bdbasemaclrn
+ - eth-l2xcbase
+ - eth-l2patch
+ - eth-l2bdbasemaclrn
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ l2-features:
+ label: L2 Ethernet Switching Features
+ test:
+ - eth-l2bdbasemaclrn-iacl50sf-10kflows
+ - eth-l2bdbasemaclrn-iacl50sl-10kflows
+ - eth-l2bdbasemaclrn-oacl50sf-10kflows
+ - eth-l2bdbasemaclrn-oacl50sl-10kflows
+ - eth-l2bdbasemaclrn-macip-iacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-base:
+ label: IPv4 Routing Base
+ test:
+ - ethip4-ip4base
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip4-features:
+ label: IPv4 Routing Features
+ test:
+ - ethip4udp-ip4base-iacl50sf-10kflows
+ - ethip4udp-ip4base-iacl50sl-10kflows
+ - ethip4udp-ip4base-oacl50sf-10kflows
+ - ethip4udp-ip4base-oacl50sl-10kflows
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ip6-base:
+ label: IPv6 Routing Base
+ test:
+ - ethip6-ip6base
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ srv6:
+ label: SRv6 Routing
+ test:
+ - ethip6ip6-ip6base-srv6enc1sid
+ - ethip6srhip6-ip6base-srv6enc2sids
+ - ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+ - ethip6srhip6-ip6base-srv6proxy-dyn
+ - ethip6srhip6-ip6base-srv6proxy-masq
+ - ethip6srhip6-ip6base-srv6proxy-stat
+ core: [1C, 2C, 4C]
+ frame-size: [78B, ]
+ test-type: [MRR, ]
+ ip4-tunnels:
+ label: IPv4 Tunnels
+ test:
+ - ethip4vxlan-l2bdbasemaclrn
+ - ethip4vxlan-l2xcbase
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ ipsec:
+ label: IPSec IPv4 Routing
+ test:
+ - ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec4tnlsw-ip4base-int-aes128gcm
+ - ethip4ipsec4tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec1000tnlsw-ip4base-int-aes128gcm
+ - ethip4ipsec1000tnlsw-ip4base-int-aes256gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha
+ - ethip4ipsec10000tnlsw-ip4base-int-aes128gcm
+ - ethip4ipsec10000tnlsw-ip4base-int-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [1518B, IMIX]
+ test-type: [MRR, ]
+ ipsec-policy:
+ label: IPSec IPv4 Routing Policy
+ test:
+ - ethip4ipsec1tnlsw-ip4base-policy-aes256gcm
+ - ethip4ipsec40tnlsw-ip4base-policy-aes256gcm
+ - ethip4ipsec1000tnlsw-ip4base-policy-aes256gcm
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
+ vhost-base:
+ label: VMs vhost-user
+ test:
+ - eth-l2xcbase-eth-2vhostvr1024-1vm
+ - eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ - ethip4-ip4base-eth-2vhostvr1024-1vm
+ - ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4
+ - ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+ - ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc
+ core: [1C, 2C, 4C]
+ frame-size: [64B, ]
+ test-type: [MRR, ]
diff --git a/resources/tools/dash/app/pal/trending/trending.py b/resources/tools/dash/app/pal/trending/trending.py
index dd323c5895..7801e9cfeb 100644
--- a/resources/tools/dash/app/pal/trending/trending.py
+++ b/resources/tools/dash/app/pal/trending/trending.py
@@ -41,7 +41,8 @@ def init_trending(server):
app=dash_app,
html_layout_file="pal/trending/html_layout.txt",
spec_file="pal/trending/spec_test_selection.yaml",
- graph_layout_file="pal/trending/layout.yaml"
+ graph_layout_file="pal/trending/layout.yaml",
+ data_spec_file="pal/data/data.yaml"
)
dash_app.index_string = layout.html_layout
dash_app.layout = layout.add_content()