#!/usr/bin/env python
"""ACL plugin Test Case HLD:
"""
import unittest
import random
from scapy.packet import Raw
from scapy.layers.l2 import Ether
from scapy.layers.inet import IP, TCP, UDP, ICMP
from scapy.layers.inet6 import IPv6, ICMPv6EchoRequest
from scapy.layers.inet6 import IPv6ExtHdrFragment
from framework import VppTestCase, VppTestRunner
from util import Host, ppp
class TestACLplugin(VppTestCase):
""" ACL plugin Test Case """
# traffic types
IP = 0
ICMP = 1
# IP version
IPRANDOM = -1
IPV4 = 0
IPV6 = 1
# rule types
DENY = 0
PERMIT = 1
# supported protocols
proto = [[6, 17], [1, 58]]
proto_map = {1: 'ICMP', 58: 'ICMPv6EchoRequest', 6: 'TCP', 17: 'UDP'}
ICMPv4 = 0
ICMPv6 = 1
TCP = 0
UDP = 1
PROTO_ALL = 0
# port ranges
PORTS_ALL = -1
PORTS_RANGE = 0
PORTS_RANGE_2 = 1
udp_sport_from = 10
udp_sport_to = udp_sport_from + 5
udp_dport_from = 20000
udp_dport_to = udp_dport_from + 5000
tcp_sport_from = 30
tcp_sport_to = tcp_sport_from + 5
tcp_dport_from = 40000
tcp_dport_to = tcp_dport_from + 5000
udp_sport_from_2 = 90
udp_sport_to_2 = udp_sport_from_2 + 5
udp_dport_from_2 = 30000
udp_dport_to_2 = udp_dport_from_2 + 5000
tcp_sport_from_2 = 130
tcp_sport_to_2 = tcp_sport_from_2 + 5
tcp_dport_from_2 = 20000
tcp_dport_to_2 = tcp_dport_from_2 + 5000
icmp4_type = 8 # echo request
icmp4_code = 3
icmp6_type = 128 # echo request
icmp6_code = 3
icmp4_type_2 = 8
icmp4_code_from_2 = 5
icmp4_code_to_2 = 20
icmp6_type_2 = 128
icmp6_code_from_2 = 8
icmp6_code_to_2 = 42
# Test variables
bd_id = 1
@classmethod
def setUpClass(cls):
"""
Perform standard class setup (defined by class method setUpClass in
class VppTestCase) before running the test case, set test case related
variables and configure VPP.
"""
super(TestACLplugin, cls).setUpClass()
random.seed()
try:
# Create 2 pg interfaces
cls.create_pg_interfaces(range(2))
# Packet flows mapping pg0 -> pg1, pg2 etc.
cls.flows = dict()
cls.flows[cls.pg0] = [cls.pg1]
# Packet sizes
cls.pg_if_packet_sizes = [64, 512, 1518, 9018]
# Create BD with MAC learning and unknown unicast flooding disabled
# and put interfaces to this BD
cls.vapi.bridge_domain_add_del(bd_id=cls.bd_id, uu_flood=1,
learn=1)
for pg_if in cls.pg_interfaces:
cls.vapi.sw_interface_set_l2_bridge(pg_if.sw_if_index,
bd_id=cls.bd_id)
# Set up all interfaces
for i in cls.pg_interfaces:
i.admin_up()
# Mapping between packet-generator index and lists of test hosts
cls.hosts_by_pg_idx = dict()
for pg_if in cls.pg_interfaces:
cls.hosts_by_pg_idx[pg_if.sw_if_index] = []
# Create list of deleted hosts
cls.deleted_hosts_by_pg_idx = dict()
for pg_if in cls.pg_interfaces:
cls.deleted_hosts_by_pg_idx[pg_if.sw_if_index] = []
# warm-up the mac address tables
# self.warmup_test()
except Exception:
super(TestACLplugin, cls).tearDownClass()
raise
def setUp(self):
super(TestACLplugin, self).setUp()
self.reset_packet_infos()
def tearDown(self):
"""
Show various debug prints after each test.
"""
super(TestACLplugin, self).tearDown()
if not self.vpp_dead:
self.logger.info(self.vapi.ppcli("show l2fib verbose"))
self.logger.info(self.vapi.ppcli("show acl-plugin acl"))
self.logger.info(self.vapi.ppcli("show acl-plugin interface"))
self.logger.info(self.vapi.ppcli("show acl-plugin tables"))
self.logger.info(self.vapi.ppcli("show bridge-domain %s detail"
% self.bd_id))
def create_hosts(self, count, start=0):
"""
Create required number of host MAC addresses and distribute them among
interfaces. Create host IPv4 address for every host MAC address.
:param int count: Number of hosts to create MAC/IPv4 addresses for.
:param int start: Number to start numbering from.
"""
n_int = len(self.pg_interfaces)
macs_per_if = count / n_int
i = -1
for pg_if in self.pg_interfaces:
i += 1
start_nr = macs_per_if * i + start
end_nr = count + start if i == (n_int - 1) \
else macs_per_if * (i + 1) + start
hosts = self.hosts_by_pg_idx[pg_if.sw_if_index]
for j in range(start_nr, end_nr):
host = Host(
"00:00:00:ff:%02x:%02x" % (pg_if.sw_if_index, j),
"172.17.1%02x.%u" % (pg_if.sw_if_index, j),
"2017:dead:%02x::%u" % (pg_if.sw_if_index, j))
hosts.append(host)
def create_rule(self, ip=0, permit_deny=0, ports=PORTS_ALL, proto=-1,
s_prefix=0, s_ip='\x00\x00\x00\x00',
d_prefix=0, d_ip='\x00\x00\x00\x00'):
if proto == -1:
return
if ports == self.PORTS_ALL:
sport_from = 0
dport_from = 0
sport_to = 65535 if proto != 1 and proto != 58 else 255
dport_to = sport_to
elif ports == self.PORTS_RANGE:
if proto == 1:
sport_from = self.icmp4_type
sport_to = self.icmp4_type
dport_from = self.icmp4_code
dport_to = self.icmp4_code
elif proto == 58:
sport_from = self.icmp6_type
sport_to = self.icmp6_type
dport_from = self.icmp6_code
dport_to = self.icmp6_code
elif proto == self.proto[self.IP][self.TCP]:
sport_from = self.tcp_sport_from
sport_to = self.tcp_sport_to
dport_from = self.tcp_dport_from
dport_to = self.tcp_dport_to
elif proto == self.proto[self.IP][self.UDP]:
sport_from = self.udp_sport_from
sport_to = self.udp_sport_to
dport_from = self.udp_dport_from
dport_to = self.udp_dport_to
elif ports == self.PORTS_RANGE_2:
if proto == 1:
sport_from = self.icmp4_type_2
sport_to = self.icmp4_type_2
dport_from = self.icmp4_code_from_2
dport_to = self.icmp4_code_to_2
elif proto == 58:
sport_from = self.icmp6_type_2
sport_to = self.icmp6_type_2
dport_from = self.icmp6_code_from_2
dport_to = self.icmp6_code_to_2
elif proto == self.proto[self.IP][self.TCP]:
sport_from = self.tcp_sport_from_2
sport_to = self.tcp_sport_to_2
dport_from = self.tcp_dport_from_2
dport_to = self.tcp_dport_to_2
elif proto == self.proto[self.IP][self.UDP]:
sport_from = self.udp_sport_from_2
sport_to = self.udp_sport_to_2
dport_from = self.udp_dport_from_2
dport_to = self.udp_dport_to_2
else:
sport_from = ports
sport_to = ports
dport_from = ports
dport_to = ports
rule = ({'is_permit': permit_deny, 'is_ipv6': ip, 'proto': proto,
'srcport_or_icmptype_first': sport_from,
'srcport_or_icmptype_last': sport_to,
'src_ip_prefix_len': s_prefix,
'src_ip_addr': s_ip,
'dstport_or_icmpcode_first': dport_from,
'dstport_or_icmpcode_last': dport_to,
'dst_ip_prefix_len': d_prefix,
'dst_ip_addr': d_ip})
return rule
def apply_rules(self, rules, tag=''):
reply = self.vapi.acl_add_replace(acl_index=4294967295, r=rules,
tag=tag)
self.logger.info("Dumped ACL: " + str(
self.vapi.acl_dump(reply.acl_index)))
# Apply a ACL on the interface as inbound
for i in self.pg_interfaces:
self.vapi.acl_interface_set_acl_list(sw_if_index=i.sw_if_index,
n_input=1,
acls=[reply.acl_index])
return
def create_upper_layer(self, packet_index, proto, ports=0):
p = self.proto_map[proto]
if p == 'UDP':
if ports == 0:
return UDP(sport=random.randint(self.udp_sport_from,
self.udp_sport_to),
dport=random.randint(self.udp_dport_from,
self.udp_dport_to))
else:
return UDP(sport=ports, dport=ports)
elif p == 'TCP':
if ports == 0:
return TCP(sport=random.randint(self.tcp_sport_from,
self.tcp_sport_to),
dport=random.randint(self.tcp_dport_from,
self.tcp_dport_to))
else:
return TCP(sport=ports, dport=ports)
return ''
def create_stream(self, src_if, packet_sizes, traffic_type=0, ipv6=0,
proto=-1, ports=0, fragments=False, pkt_raw=True):
"""
Create input packet stream for defined interface using hosts or
deleted_hosts list.
:param object src_if: Interface to create packet stream for.
:param list packet_sizes: List of required packet sizes.
:param traffic_type: 1: ICMP packet, 2: IPv6 with EH, 0: otherwise.
:return: Stream of packets.
"""
pkts = []
if self.flows.__contains__(src_if):
src_hosts = self.hosts_by_pg_idx[src_if.sw_if_index]
for dst_if in self.flows[src_if]:
dst_hosts = self.hosts_by_pg_idx[dst_if.sw_if_index]
n_int = len(dst_hosts) * len(src_hosts)
for i in range(0, n_int):
dst_host = dst_hosts[i / len(src_hosts)]
src_host = src_hosts[i % len(src_hosts)]
pkt_info = self.create_packet_info(src_if, dst_if)
if ipv6 == 1:
pkt_info.ip = 1
elif ipv6 == 0:
pkt_info.ip = 0
else:
pkt_info.ip = random.choice([0, 1])
if proto == -1:
pkt_info.proto = random.choice(self.proto[self.IP])
else:
pkt_info.proto = proto
payload = self.info_to_payload(pkt_info)
p = Ether(dst=dst_host.mac, src=src_host.mac)
if pkt_info.ip:
p /= IPv6(dst=dst_host.ip6, src=src_host.ip6)
if fragments:
p /= IPv6ExtHdrFragment(offset=64, m=1)
else:
if fragments:
p /= IP(src=src_host.ip4, dst=dst_host.ip4,
flags=1, frag=64)
else:
p /= IP(src=src_host.ip4, dst=dst_host.ip4)
if traffic_type == self.ICMP:
if pkt_info.ip:
p /= ICMPv6EchoRequest(type=self.icmp6_type,
code=self.icmp6_code)
else:
p /= ICMP(type=self.icmp4_type,
code=self.icmp4_code)
else:
p /= self.create_upper_layer(i, pkt_info.proto, ports)
if pkt_raw:
p /= Raw(payload)
pkt_info.data = p.copy()
if pkt_raw:
size = random.choice(packet_sizes)
self.extend_packet(p, size)
pkts.append(p)
return pkts
def verify_capture(self, pg_if, capture, traffic_type=0, ip_type=0):
"""
Verify captured input packet stream for defined interface.
:param object pg_if: Interface to verify captured packet stream for.
:param list capture: Captured packet stream.
:param traffic_type: 1: ICMP packet, 2: IPv6 with EH, 0: otherwise.
"""
last_info = dict()
for i in self.pg_interfaces:
last_info[i.sw_if_index] = None
dst_sw_if_index = pg_if.sw_if_index
for packet in capture:
try:
# Raw data for ICMPv6 are stored in ICMPv6EchoRequest.data
if traffic_type == self.ICMP and ip_type == self.IPV6:
payload_info = self.payload_to_info(
packet[ICMPv6EchoRequest].data)
payload = packet[ICMPv6EchoRequest]
else:
payload_info = self.payload_to_info(str(packet[Raw]))
payload = packet[self.proto_map[payload_info.proto]]
except:
self.logger.error(ppp("Unexpected or invalid packet "
"(outside network):", packet))
raise
if ip_type != 0:
self.assertEqual(payload_info.ip, ip_type)
if traffic_type == self.ICMP:
try:
if payload_info.ip == 0:
self.assertEqual(payload.type, self.icmp4_type)
self.assertEqual(payload.code, self.icmp4_code)
else:
self.assertEqual(payload.type, self.icmp6_type)
self.assertEqual(payload.code, self.icmp6_code)
except:
self.logger.error(ppp("Unexpected or invalid packet "
"(outside network):", packet))
raise
else:
try:
ip_version = IPv6 if payload_info.ip == 1 else IP
ip = packet[ip_version]
packet_index = payload_info.index
self.assertEqual(payload_info.dst, dst_sw_if_index)
self.logger.debug("Got packet on port %s: src=%u (id=%u)" %
(pg_if.name, payload_info.src,
packet_index))
next_info = self.get_next_packet_info_for_interface2(
payload_info.src, dst_sw_if_index,
last_info[payload_info.src])
last_info[payload_info.src] = next_info
self.assertTrue(next_info is not None)
self.assertEqual(packet_index, next_info.index)
saved_packet = next_info.data
# Check standard fields
self.assertEqual(ip.src, saved_packet[ip_version].src)
self.assertEqual(ip.dst, saved_packet[ip_version].dst)
p = self.proto_map[payload_info.proto]
if p == 'TCP':
tcp = packet[TCP]
self.assertEqual(tcp.sport, saved_packet[
TCP].sport)
self.assertEqual(tcp.dport, saved_packet[
TCP].dport)
elif p == 'UDP':
udp = packet[UDP]
self.assertEqual(udp.sport, saved_packet[
UDP].sport)
self.assertEqual(udp.dport, saved_packet[
UDP].dport)
except:
self.logger.error(ppp("Unexpected or invalid packet:",
packet))
raise
for i in self.pg_interfaces:
remaining_packet = self.get_next_packet_info_for_interface2(
i, dst_sw_if_index, last_info[i.sw_if_index])
self.assertTrue(
remaining_packet is None,
"Port %u: Packet expected from source %u didn't arrive" %
(dst_sw_if_index, i.sw_if_index))
def run_traffic_no_check(self):
# Test
# Create incoming packet streams for packet-generator interfaces
for i in self.pg_interfaces:
if self.flows.__contains__(i):
pkts = self.create_stream(i, self.pg_if_packet_sizes)
if len(pkts) > 0:
i.add_stream(pkts)
# Enable packet capture and start packet sending
self.pg_enable_capture(self.pg_interfaces)
self.pg_start()
def run_verify_test(self, traffic_type=0, ip_type=0, proto=-1, ports=0,
frags=False, pkt_raw=True):
# Test
# Create incoming packet streams for packet-generator interfaces
pkts_cnt = 0
for i in self.pg_interfaces:
if self.flows.__contains__(i):
pkts = self.create_stream(i, self.pg_if_packet_sizes,
traffic_type, ip_type, proto, ports,
frags, pkt_raw)
if len(pkts) > 0:
i.add_stream(pkts)
pkts_cnt += len(pkts)
# Enable packet capture and start packet sendingself.IPV
self.pg_enable_capture(self.pg_interfaces)
self.pg_start()
# Verify
# Verify outgoing packet streams per packet-generator interface
for src_if in self.pg_interfaces:
-
type: "environment"
configuration:
# Debug mode:
# - Skip:
# - Download of input data files
# - Do:
# - Read data from given zip / xml files
# - Set the configuration as it is done in normal mode
# If the section "type: debug" is missing, CFG[DEBUG] is set to 0.
CFG[DEBUG]: 0
paths:
# Top level directories:
## Working directory
DIR[WORKING]: "_tmp"
## Build directories
DIR[BUILD,HTML]: "_build"
DIR[BUILD,LATEX]: "_build_latex"
# Static .rst files
DIR[RST]: "../../../docs/report"
# Working directories
## Input data files (.zip, .xml)
DIR[WORKING,DATA]: "{DIR[WORKING]}/data"
## Static source files from git
DIR[WORKING,SRC]: "{DIR[WORKING]}/src"
DIR[WORKING,SRC,STATIC]: "{DIR[WORKING,SRC]}/_static"
# Static html content
DIR[STATIC]: "{DIR[BUILD,HTML]}/_static"
DIR[STATIC,VPP]: "{DIR[STATIC]}/vpp"
DIR[STATIC,DPDK]: "{DIR[STATIC]}/dpdk"
DIR[STATIC,ARCH]: "{DIR[STATIC]}/archive"
# Detailed test results
DIR[DTR]: "{DIR[WORKING,SRC]}/detailed_test_results"
DIR[DTR,PERF,DPDK]: "{DIR[DTR]}/dpdk_performance_results"
DIR[DTR,PERF,VPP]: "{DIR[DTR]}/vpp_performance_results"
DIR[DTR,PERF,COT]: "{DIR[DTR]}/cot_performance_results"
DIR[DTR,PERF,HC]: "{DIR[DTR]}/honeycomb_performance_results"
DIR[DTR,FUNC,VPP]: "{DIR[DTR]}/vpp_functional_results"
DIR[DTR,FUNC,HC]: "{DIR[DTR]}/honeycomb_functional_results"
DIR[DTR,FUNC,NSHSFC]: "{DIR[DTR]}/nshsfc_functional_results"
DIR[DTR,PERF,VPP,IMPRV]: "{DIR[WORKING,SRC]}/vpp_performance_tests/performance_improvements"
# Detailed test configurations
DIR[DTC]: "{DIR[WORKING,SRC]}/test_configuration"
DIR[DTC,PERF,VPP]: "{DIR[DTC]}/vpp_performance_configuration"
DIR[DTC,FUNC,VPP]: "{DIR[DTC]}/vpp_functional_configuration"
# Detailed tests operational data
DIR[DTO]: "{DIR[WORKING,SRC]}/test_operational_data"
DIR[DTO,PERF,VPP]: "{DIR[DTO]}/vpp_performance_operational_data"
# .css patch file to fix tables generated by Sphinx
DIR[CSS_PATCH_FILE]: "{DIR[STATIC]}/theme_overrides.css"
DIR[CSS_PATCH_FILE2]: "{DIR[WORKING,SRC,STATIC]}/theme_overrides.css"
urls:
URL[JENKINS,CSIT]: "https://jenkins.fd.io/view/csit/job"
URL[JENKINS,HC]: "https://jenkins.fd.io/view/hc2vpp/job"
URL[NEXUS]: "https://docs.fd.io/csit"
DIR[NEXUS]: "report/_static/archive"
make-dirs:
# List the directories which are created while preparing the environment.
# All directories MUST be defined in "paths" section.
- "DIR[WORKING,DATA]"
- "DIR[STATIC,VPP]"
- "DIR[STATIC,DPDK]"
- "DIR[STATIC,ARCH]"
- "DIR[BUILD,LATEX]"
- "DIR[WORKING,SRC]"
- "DIR[WORKING,SRC,STATIC]"
remove-dirs:
# List the directories which are deleted while cleaning the environment.
# All directories MUST be defined in "paths" section.
#- "DIR[BUILD,HTML]"
build-dirs:
# List the directories where the results (build) is stored.
# All directories MUST be defined in "paths" section.
- "DIR[BUILD,HTML]"
- "DIR[BUILD,LATEX]"
-
type: "configuration"
data-sets:
# TODO: Add the data sources
plot-vpp-http-server-performance:
csit-vpp-perf-1801-all:
- 157
- 158
- 159
# TODO: Add the data sources
# vpp-meltdown-impact:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# csit-vpp-perf-1710-all:
# - 11l
# - 12
# - 13
# TODO: Add the data sources
# vpp-spectre-impact:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# csit-vpp-perf-1710-all:
# - 11
# - 12
# - 13
vpp-performance-changes:
csit-vpp-perf-1710-all:
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
# TODO: Add the data sources
csit-vpp-perf-1801-all:
- 124 # sel
- 127 # sel
- 128 # sel
- 141 # sel
- 142 # sel
- 143 # sel
- 145 # sel
- 146 # sel
# TODO: Add the data sources
plot-throughput-speedup-analysis:
csit-vpp-perf-1801-all:
- 124 # sel
- 127 # sel
- 128 # sel
- 141 # sel
- 142 # sel
- 143 # sel
- 145 # sel
- 146 # sel
# performance-improvements:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# - 14
# - 15
# - 16
# - 17
# - 18
# - 19
# - 21
# csit-vpp-perf-1710-all:
# - 11
# - 12
# - 13
# - 14
# - 15
# - 16
# - 17
# - 18
# - 19
# - 20
# csit-vpp-perf-1801-all:
# - 124
# - 127
# - 128
# csit-ligato-perf-1710-all:
# - 5
# - 7
# - 8
# - 9
# - 10
# - 11
# - 12
# - 13
# - 16
# - 17
# csit-ligato-perf-1801-all:
# - 16 # sel
# - 17 # sel
# - 18 # sel
# - 19 # sel
# - 20 # sel
# - 21 # sel
# TODO: Add the data sources
vpp-perf-results:
csit-vpp-perf-1801-all:
- 122
- 126
- 129
- 140
vpp-func-results:
csit-vpp-functional-1801-ubuntu1604-virl:
- "lastSuccessfulBuild"
# TODO: Add the data sources
ligato-perf-results:
csit-ligato-perf-1801-all:
- 19
dpdk-perf-results:
csit-dpdk-perf-1801-all:
- 12
hc-func-results:
csit-hc2vpp-verify-func-1801-ubuntu1604:
- "lastSuccessfulBuild"
nsh-func-results:
csit-nsh_sfc-verify-func-1801-ubuntu1604-virl:
- 1
# TODO: Add the data sources
plot-vpp-throughput-latency:
csit-vpp-perf-1801-all:
- 124 # sel
- 127 # sel
- 128 # sel
- 141 # sel
- 142 # sel
- 143 # sel
- 145 # sel
- 146 # sel
plot-dpdk-throughput-latency:
csit-dpdk-perf-1801-all:
- 1
- 3
- 4
- 5
- 6
- 7
- 8
- 10
- 12
# TODO: Add the data sources
plot-ligato-throughput-latency:
csit-ligato-perf-1801-all:
- 16 # sel
- 17 # sel
- 18 # sel
- 19 # sel
- 20 # sel
- 21 # sel
plot-layouts:
plot-cps:
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: []
rangemode: "tozero"
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Connections Per Second [cps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
plot-rps:
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: []
rangemode: "tozero"
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Requests Per Second [rps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
plot-throughput:
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: []
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
plot-latency:
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ""
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: []
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Latency min/avg/max [uSec]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
plot-throughput-speedup-analysis:
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
tickangle: 270
zeroline: False
yaxis:
title: "Throughput speedup factor"
gridcolor: "rgb(238, 238, 238)"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: []
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
zeroline: False
legend:
orientation: "h"
xanchor: "center"
yanchor: "top"
x: 0.5
y: 1
bgcolor: "rgba(255, 255, 255, 0)"
bordercolor: "rgba(255, 255, 255, 0)"
barmode: "group"
bargap: 0.15
bargroupgap: 0.1
autosize: False
margin:
't': 50
'b': 200
'l': 50
'r': 20
showlegend: True
width: 700
height: 1000
-
type: "debug"
general:
input-format: "xml" # zip or xml
extract: "robot-plugin/output.xml" # Only for zip
builds:
# The files must be in the directory DIR[WORKING,DATA]
csit-vpp-perf-1801-all:
-
build: 1
file: "{DIR[WORKING,DATA]}/output.xml"
-
build: 2
file: "{DIR[WORKING,DATA]}/output.xml"
-
build: 3
file: "{DIR[WORKING,DATA]}/output.xml"
-
build: 4
file: "{DIR[WORKING,DATA]}/output.xml"
-
type: "static"
src-path: "{DIR[RST]}"
dst-path: "{DIR[WORKING,SRC]}"
-
type: "input" # Ignored in debug mode
general:
file-name: "robot-plugin.zip"
file-format: ".zip"
download-path: "{job}/{build}/robot/report/*zip*/{filename}"
extract: "robot-plugin/output.xml"
builds:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# - 14
# - 15
# - 16
# - 17
# - 18
# - 19
# - 21
csit-vpp-perf-1710-all:
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
# TODO:
csit-vpp-perf-1801-all:
- 122 # full
- 126 # full
- 129 # full
- 140 # full
- 124 # sel
- 127 # sel
- 128 # sel
- 141 # sel
- 142 # sel
- 143 # sel
- 145 # sel
- 146 # sel
- 157 # wrk
- 158 # wrk
- 159 # wrk
csit-ligato-perf-1710-all:
- 5
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 16
- 17
csit-dpdk-perf-1801-all:
- 1
- 4
- 5
- 7
- 8
- 10
- 12
- 16
- 17
# TODO:
csit-ligato-perf-1801-all:
- 16 # sel
- 17 # sel
- 18 # sel
- 19 # sel
- 20 # sel
- 21 # sel
csit-dpdk-perf-1801-all:
- 1
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 12
csit-vpp-functional-1801-ubuntu1604-virl:
- lastSuccessfulBuild
csit-nsh_sfc-verify-func-1801-ubuntu1604-virl:
- 1
csit-hc2vpp-verify-func-1801-ubuntu1604:
- lastSuccessfulBuild
-
type: "output"
format:
html:
- full
pdf:
- minimal
################################################################################
### T A B L E S ###
################################################################################
#-
# type: "table"
# title: "Performance Impact of Meltdown Patches"
# algorithm: "table_performance_comparison"
# output-file-ext: ".csv"
## TODO: specify dir
# output-file: "{DIR[STATIC,VPP]}/meltdown-impact"
# reference:
# title: "No Meltdown"
## TODO: specify data sources
# data:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# compare:
# title: "Meltdown Patches Applied"
## TODO: specify data sources
# data:
# csit-vpp-perf-1710-all:
# - 11
# - 12
# - 13
# data:
# "vpp-meltdown-impact"
# filter: "all"
# parameters:
# - "name"
# - "parent"
# - "throughput"
# # Number of the best and the worst tests presented in the table. Use 0 (zero)
# # to present all tests.
# nr-of-tests-shown: 20
#
#-
# type: "table"
# title: "Performance Impact of Spectre Patches"
# algorithm: "table_performance_comparison"
# output-file-ext: ".csv"
## TODO: specify dir
# output-file: "{DIR[STATIC,VPP]}/meltdown-spectre-impact"
# reference:
# title: "No Spectre"
## TODO: specify data sources
# data:
# csit-vpp-perf-1707-all:
# - 9
# - 10
# - 13
# compare:
# title: "Spectre Patches Applied"
## TODO: specify data sources
# data:
# csit-vpp-perf-1710-all:
# - 11
# - 12
# - 13
# data:
# "vpp-spectre-impact"
# filter: "all"
# parameters:
# - "name"
# - "parent"
# - "throughput"
# # Number of the best and the worst tests presented in the table. Use 0 (zero)
# # to present all tests.
# nr-of-tests-shown: 20
-
type: "table"
title: "VPP Performance Changes"
algorithm: "table_performance_comparison"
output-file-ext: ".csv"
# TODO: specify dir
output-file: "{DIR[STATIC,VPP]}/performance-changes"
reference:
title: "Release 1710"
# TODO: specify data sources
data:
csit-vpp-perf-1710-all:
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
compare:
title: "Release 1801"
# TODO: specify data sources
data:
csit-vpp-perf-1801-all:
- 124 # sel
- 127 # sel
- 128 # sel
- 141 # sel
- 142 # sel
- 143 # sel
- 145 # sel
- 146 # sel
data: "vpp-performance-changes"
filter: "all"
parameters:
- "name"
- "parent"
- "throughput"
# Number of the best and the worst tests presented in the table. Use 0 (zero)
# to present all tests.
nr-of-tests-shown: 20
outlier-const: 1.5
#-
# type: "table"
# title: "Performance improvements"
# algorithm: "table_performance_improvements"
# template: "{DIR[DTR,PERF,VPP,IMPRV]}/tmpl_performance_improvements.csv"
# output-file-ext: ".csv"
# output-file: "{DIR[DTR,PERF,VPP,IMPRV]}/performance_improvements"
# columns:
# -
# title: "Test Name"
# data: "template 1"
# -
# title: "16.09 mean [Mpps]"
# data: "template 2"
# -
# title: "17.01 mean [Mpps]"
# data: "template 3"
# -
# title: "17.04 mean [Mpps]"
# data: "template 4"
# -
# title: "17.07 mean [Mpps]"
# data: "data csit-vpp-perf-1707-all mean"
# -
# title: "17.10 mean [Mpps]"
# data: "data csit-vpp-perf-1710-all csit-ligato-perf-1710-all mean"
# -
# title: "18.01 mean [Mpps]"
# data: "data csit-vpp-perf-1801-all csit-ligato-perf-1801-all mean"
# -
# title: "18.01 stdev [Mpps]"
# data: "data csit-vpp-perf-1801-all csit-ligato-perf-1801-all stdev"
# -
# title: "17.10 to 18.01 change [%]"
# data: "operation relative_change 5 6"
# rows: "generated"
# data:
# "performance-improvements"
# filter: "template"
# parameters:
# - "throughput"
-
type: "table"
title: "Detailed Test Results - VPP Performance Results"
algorithm: "table_merged_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,PERF,VPP]}/vpp_performance_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data msg"
rows: "generated"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "name"
- "parent"
- "doc"
- "msg"
-
type: "table"
title: "Test configuration - VPP Performance Test Configs"
algorithm: "table_merged_details"
output-file-ext: ".csv"
output-file: "{DIR[DTC,PERF,VPP]}/vpp_test_configuration"
columns:
-
title: "Name"
data: "data name"
-
title: "VPP API Test (VAT) Commands History - Commands Used Per Test Case"
data: "data vat-history"
rows: "generated"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "parent"
- "name"
- "vat-history"
-
type: "table"
title: "Test Operational Data - VPP Performance Operational Data"
algorithm: "table_merged_details"
output-file-ext: ".csv"
output-file: "{DIR[DTO,PERF,VPP]}/vpp_test_operational"
columns:
-
title: "Name"
data: "data name"
-
title: "VPP Operational Data - Outputs of 'show runtime' at NDR packet rate"
data: "data show-run"
rows: "generated"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "parent"
- "name"
- "show-run"
-
type: "table"
title: "Detailed Test Results - VPP Functional Results"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,FUNC,VPP]}/vpp_functional_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data status"
rows: "generated"
data:
"vpp-func-results"
filter: "all"
parameters:
- "name"
- "parent"
- "doc"
- "status"
-
type: "table"
title: "Test configuration - VPP Functional Test Configs"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTC,FUNC,VPP]}/vpp_functional_configuration"
columns:
-
title: "Name"
data: "data name"
-
title: "VPP API Test (VAT) Commands History - Commands Used Per Test Case"
data: "data vat-history"
rows: "generated"
data:
"vpp-func-results"
filter: "all"
parameters:
- "parent"
- "name"
- "vat-history"
-
type: "table"
title: "Detailed Test Results - Container Orchestrated Topologies Performance Results"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,PERF,COT]}/cot_performance_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data msg"
rows: "generated"
data:
"ligato-perf-results"
filter: "all"
parameters:
- "name"
- "parent"
- "doc"
- "msg"
-
type: "table"
title: "Detailed Test Results - DPDK Performance Results"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,PERF,DPDK]}/dpdk_performance_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data msg"
rows: "generated"
data:
"dpdk-perf-results"
filter: "all"
parameters:
- "name"
- "parent"
- "doc"
- "msg"
-
type: "table"
title: "Detailed Test Results - Honeycomb Functional Results"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,FUNC,HC]}/hc_functional_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data status"
rows: "generated"
data:
"hc-func-results"
filter: "all"
parameters:
- "name"
- "parent"
- "doc"
- "status"
-
type: "table"
title: "Detailed Test Results - NSH SFC Functional Results"
algorithm: "table_details"
output-file-ext: ".csv"
output-file: "{DIR[DTR,FUNC,NSHSFC]}/nsh_sfc_functional_results"
columns:
-
title: "Name"
data: "data name"
-
title: "Documentation"
data: "data doc"
-
title: "Status"
data: "data status"
rows: "generated"
data:
"nsh-func-results"
filter: "all"
parameters:
- "name"
- "parent"
- "doc"
- "status"
################################################################################
### F I L E S ###
################################################################################
-
type: "file"
title: "VPP Performance Results"
algorithm: "file_merged_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,PERF,VPP]}/vpp_performance_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,PERF,VPP]}"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "name"
- "doc"
- "level"
- "parent"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "VPP Performance Configuration"
algorithm: "file_merged_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTC,PERF,VPP]}/vpp_performance_configuration"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTC,PERF,VPP]}"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "name"
- "doc"
- "level"
- "parent"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "VPP Performance Operational Data"
algorithm: "file_merged_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTO,PERF,VPP]}/vpp_performance_operational_data"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTO,PERF,VPP]}"
data:
"vpp-perf-results"
filter: "not 'NDRCHK' and not 'PDRCHK'"
parameters:
- "name"
- "doc"
- "level"
- "parent"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "VPP Functional Results"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,FUNC,VPP]}/vpp_functional_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,FUNC,VPP]}"
data:
"vpp-func-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "VPP Functional Configuration"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTC,FUNC,VPP]}/vpp_functional_configuration"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTC,FUNC,VPP]}"
data:
"vpp-func-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "Container Orchestrated Performance Results"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,PERF,COT]}/cot_performance_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,PERF,COT]}"
data:
"ligato-perf-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
data-start-level: 2 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "DPDK Performance Results"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,PERF,DPDK]}/dpdk_performance_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,PERF,DPDK]}"
data:
"dpdk-perf-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
chapters:
- "suites"
data-start-level: 2 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "Honeycomb Functional Results"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,FUNC,HC]}/honeycomb_functional_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,FUNC,HC]}"
data:
"hc-func-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
chapters:
- "suites"
data-start-level: 3 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
-
type: "file"
title: "NSH SFC Functional Results"
algorithm: "file_test_results"
output-file-ext: ".rst"
output-file: "{DIR[DTR,FUNC,NSHSFC]}/nshsfc_functional_results"
file-header: "\n.. |br| raw:: html\n\n <br />\n\n\n.. |prein| raw:: html\n\n <pre>\n\n\n.. |preout| raw:: html\n\n </pre>\n\n"
dir-tables: "{DIR[DTR,FUNC,NSHSFC]}"
data:
"nsh-func-results"
filter: "all"
parameters:
- "name"
- "doc"
- "level"
chapters:
- "suites"
data-start-level: 2 # 0, 1, 2, ...
chapters-start-level: 2 # 0, 1, 2, ...
################################################################################
### P L O T S ###
################################################################################
# Plots VPP HTTP Server Performance
-
type: "plot"
title: "VPP HTTP Server Performance"
algorithm: "plot_http_server_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/http-server-performance-cps"
data:
"plot-vpp-http-server-performance"
# Keep this formatting, the filter is enclosed with " (quotation mark) and
# each tag is enclosed with ' (apostrophe).
filter: "'HTTP' and 'TCP_CPS'"
parameters:
- "result"
- "name"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "VPP HTTP Server Performance"
layout:
"plot-cps"
-
type: "plot"
title: "VPP HTTP Server Performance"
algorithm: "plot_http_server_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/http-server-performance-rps"
data:
"plot-vpp-http-server-performance"
filter: "'HTTP' and 'TCP_RPS'"
parameters:
- "result"
- "name"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "VPP HTTP Server Performance"
layout:
"plot-rps"
# Plot Throughput Speedup Analysis
# L2 - 10ge2p1x520 - NDR
-
type: "plot"
title: "TSA: 64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-64B-l2-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '64B' and 'BASE' and 'NDRDISC' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'LXC' and not 'DOCKER'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# L2 - 40ge2p1xl710 - NDR
-
type: "plot"
title: "TSA: 64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/40ge2p1xl710-64B-l2-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-XL710' and '64B' and 'BASE' and 'NDRDISC' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'LXC' and not 'DOCKER'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# L2 - 10ge2p1x520 - PDR
-
type: "plot"
title: "TSA: 64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-64B-l2-tsa-pdrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'LXC' and not 'DOCKER'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv4 - 10ge2p1x520 - NDR
-
type: "plot"
title: "TSA: 64B-*-ethip4-ip4(base|scale)*ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-64B-ip4-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '64B' and 'IP4FWD' and ('BASE' or 'SCALE') and 'NDRDISC' and not 'VHOST' and not 'FEATURE' and not 'DOT1Q' and not 'IPSEC'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-ethip4-ip4(base|scale)*ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv4 - 40ge2p1xl710 - NDR
-
type: "plot"
title: "TSA: 64B-*-ethip4-ip4(base|scale)*ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/40ge2p1xl710-64B-ip4-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-XL710' and '64B' and 'IP4FWD' and ('BASE' or 'SCALE') and 'NDRDISC' and not 'VHOST' and not 'FEATURE' and not 'DOT1Q' and not 'IPSEC'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-ethip4-ip4(base|scale)*ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv4 - 10ge2p1x520 - PDR
-
type: "plot"
title: "TSA: 64B-*-ethip4-ip4(base|scale)*pdrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-64B-ip4-tsa-pdrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '64B' and 'IP4FWD' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and not 'VHOST' and not 'FEATURE' and not 'DOT1Q' and not 'IPSEC'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "64B-*-ethip4-ip4(base|scale)*pdrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv6 - 10ge2p1x520 - NDR
-
type: "plot"
title: "TSA: 78B-*-ethip6-ip6(base|scale)*ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-78B-ip6-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '78B' and 'IP6FWD' and ('BASE' or 'SCALE') and 'NDRDISC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "78B-*-ethip6-ip6(base|scale)*ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv6 - 40ge2p1xl710 - NDR
-
type: "plot"
title: "TSA: 78B-*-ethip6-ip6(base|scale)*ndrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/40ge2p1xl710-78B-ip6-tsa-ndrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-XL710' and '78B' and 'IP6FWD' and ('BASE' or 'SCALE') and 'NDRDISC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "78B-*-ethip6-ip6(base|scale)*ndrdisc"
layout:
"plot-throughput-speedup-analysis"
# IPv6 - 10ge2p1x520 - PDR
-
type: "plot"
title: "TSA: 78B-*-ethip6-ip6(base|scale)*pdrdisc"
algorithm: "plot_throughput_speedup_analysis"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/10ge2p1x520-78B-ip6-tsa-pdrdisc"
data:
"plot-throughput-speedup-analysis"
filter: "'NIC_Intel-X520-DA2' and '78B' and 'IP6FWD' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
- "tags"
layout:
title: "78B-*-ethip6-ip6(base|scale)*pdrdisc"
layout:
"plot-throughput-speedup-analysis"
# Plot packets per second
# VPP L2 sel1
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-ndrdisc"
data:
"plot-vpp-throughput-latency"
# Keep this formatting, the filter is enclosed with " (quotation mark) and
# each tag is enclosed with ' (apostrophe).
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
# VPP L2 sel2
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'FEATURE' and ('ACL10' or 'ACL50') and '10k_FLOWS' and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'FEATURE' and ('ACL10' or 'ACL50') and '10k_FLOWS' and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'FEATURE' and ('ACL10' or 'ACL50') and '10k_FLOWS' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'FEATURE' and ('ACL10' or 'ACL50') and '10k_FLOWS' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
# VPP IP4
-
type: "plot"
title: "VPP Performance 64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc"
layout:
"plot-throughput"
# VPP IP6
-
type: "plot"
title: "VPP Performance 78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc"
layout:
"plot-throughput"
# VPP IP4_overlay
-
type: "plot"
title: "VPP Performance 64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc"
layout:
"plot-throughput"
# VPP IP6_overlay
-
type: "plot"
title: "VPP Performance 78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [2000000, 6000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "VPP Performance 78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [4000000, 12000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
# VPP VM VHOST
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*vhost.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel1-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*vhost.*-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [0, 3500000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*vhost.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel1-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*vhost.*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*vhost.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel1-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*vhost.*-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*vhost.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel1-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*vhost.*-pdrdisc"
layout:
"plot-throughput"
# VPP VM VHOST SELECTION
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*vhost.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel2-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*vhost.*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*vhost.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel2-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*vhost.*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*vhost.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel2-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*vhost.*-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*vhost.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel2-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*vhost.*-pdrdisc"
layout:
"plot-throughput"
# VPP CRYPTO
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*ipsec.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ipsechw-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'NDRDISC' and '1T1C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*ipsec.*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*ipsec.*-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ipsechw-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'NDRDISC' and '2T2C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*ipsec.*-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-.*ipsec.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ipsechw-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-.*ipsec.*-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-.*ipsec.*-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ipsechw-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-.*ipsec.*-pdrdisc"
layout:
"plot-throughput"
# DPDK
-
type: "plot"
title: "DPDK Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-l2-ndrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "DPDK Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-l2-ndrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "DPDK Performance 64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-ipv4-ndrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and 'IP4FWD'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [2000000, 12000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "DPDK Performance 64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-ipv4-ndrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and 'IP4FWD'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [2000000, 12000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "DPDK Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-l2-pdrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "DPDK Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-l2-pdrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "DPDK Performance 64B-1t1c-ethip4-ip4base-l3fwd-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-ipv4-pdrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'IP4FWD'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-ethip4-ip4base-l3fwd-pdrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [20000000, 30000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "DPDK Performance 64B-2t2c-ethip4-ip4base-l3fwd-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-ipv4-pdrdisc"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'IP4FWD'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-ethip4-ip4base-l3fwd-pdrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [20000000, 30000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
# Plot latency
# VPP L2 sel1
-
type: "plot"
title: "VPP Latency 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
# VPP L2 sel2
-
type: "plot"
title: "VPP Latency 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('FEATURE' and 'ACL50' and '10k_FLOWS') and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('FEATURE' and 'ACL50' and '10k_FLOWS') and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST' and not 'MEMIF'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
# VPP IP4
-
type: "plot"
title: "VPP Latency 64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '1T1C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '2T2C' and 'IP4FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-latency"
# VPP IP6
-
type: "plot"
title: "VPP Latency 78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '1T1C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and ('BASE' or 'SCALE' or 'FEATURE') and 'NDRDISC' and '2T2C' and 'IP6FWD' and not 'IPSEC' and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc"
layout:
"plot-latency"
# VPP IP4_overlay
-
type: "plot"
title: "VPP Latency 64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ethip4-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ethip4-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'ENCAP' and 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST' and not 'IPSECHW'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-latency"
# VPP IP6_overlay
-
type: "plot"
title: "VPP Latency 78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-1t1c-ethip6-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'NDRDISC' and '1T1C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/78B-2t2c-ethip6-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'78B' and 'ENCAP' and 'NDRDISC' and '2T2C' and ('VXLAN' or 'VXLANGPE' or 'LISP' or 'LISPGPE' or 'GRE') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc"
layout:
"plot-latency"
# VPP VM VHOST
-
type: "plot"
title: "VPP Latency 64B-1t1c-.*vhost.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel1-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '1T1C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-.*vhost.*-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-.*vhost.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel1-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '2T2C' and 'VHOST' and not ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD')"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-.*vhost.*-ndrdisc"
layout:
"plot-latency"
# VPP VM VHOST selection
-
type: "plot"
title: "VPP Latency 64B-1t1c-.*vhost.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-vhost-sel2-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '1T1C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-.*vhost.*-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-.*vhost.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-vhost-sel2-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'NDRDISC' and '2T2C' and 'VHOST' and not 'VXLAN' and not 'IP4FWD' and not 'DOT1Q' and not '2VM'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-.*vhost.*-ndrdisc"
layout:
"plot-latency"
# VPP CRYPTO
-
type: "plot"
title: "VPP Latency 64B-1t1c-.*ipsec.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-ipsechw-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'NDRDISC' and '1T1C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-.*ipsec.*-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-.*ipsec.*-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-ipsechw-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and not 'VHOST' and 'IP4FWD' and 'NDRDISC' and '2T2C' and 'IPSECHW' and ('IPSECTRAN' or 'IPSECTUN')"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-.*ipsec.*-ndrdisc"
layout:
"plot-latency"
# DPDK
-
type: "plot"
title: "DPDK Latency 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-l2-ndrdisc-lat50"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "DPDK Latency 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-l2-ndrdisc-lat50"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "DPDK Latency 64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-1t1c-ipv4-ndrdisc-lat50"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and 'IP4FWD'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "DPDK Latency 64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,DPDK]}/64B-2t2c-ipv4-ndrdisc-lat50"
data:
"plot-dpdk-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and 'IP4FWD'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc"
layout:
"plot-latency"
# Ligato - Throughput
# Container memif
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-memif-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [0, 4500000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-memif-ndrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [0, 8000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-memif-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [0, 4500000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-memif-pdrdisc"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
xaxis:
autorange: True
autotick: False
fixedrange: False
gridcolor: "rgb(238, 238, 238)"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
tickmode: "linear"
title: "Indexed Test Cases"
zeroline: False
yaxis:
gridcolor: "rgb(238, 238, 238)'"
hoverformat: ".4s"
linecolor: "rgb(238, 238, 238)"
linewidth: 1
range: [0, 8000000]
showgrid: True
showline: True
showticklabels: True
tickcolor: "rgb(238, 238, 238)"
title: "Packets Per Second [pps]"
zeroline: False
boxmode: "group"
boxgroupgap: 0.5
autosize: False
margin:
t: 50
b: 20
l: 50
r: 20
showlegend: True
legend:
orientation: "h"
width: 700
height: 1000
# Container orchestrated
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-orchestrated-ndrdisc"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-orchestrated-ndrdisc"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-orchestrated-pdrdisc"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
layout:
"plot-throughput"
-
type: "plot"
title: "VPP Performance 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
algorithm: "plot_performance_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-orchestrated-pdrdisc"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'PDRDISC' and not 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "throughput"
- "parent"
traces:
hoverinfo: "x+y"
boxpoints: "outliers"
whiskerwidth: 0
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-pdrdisc"
layout:
"plot-throughput"
# Ligato - Latency
# Container memif
-
type: "plot"
title: "VPP Latency 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-memif-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-memif-ndrdisc-lat50"
data:
"plot-vpp-throughput-latency"
filter: "'64B' and 'BASE' and 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-latency"
# Container orchestrated
-
type: "plot"
title: "VPP Latency 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-1t1c-container-orchestrated-ndrdisc-lat50"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '1T1C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-latency"
-
type: "plot"
title: "VPP Latency 64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
algorithm: "plot_latency_box"
output-file-type: ".html"
output-file: "{DIR[STATIC,VPP]}/64B-2t2c-container-orchestrated-ndrdisc-lat50"
data:
"plot-ligato-throughput-latency"
filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '2T2C' and 'MEMIF' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
parameters:
- "latency"
- "parent"
traces:
boxmean: False
layout:
title: "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-memif-ndrdisc"
layout:
"plot-latency"