aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml
diff options
context:
space:
mode:
authorDino Madarang <dinox.madarang@intel.com>2017-10-03 01:02:17 +0000
committerRoss Brattain <ross.b.brattain@intel.com>2017-12-16 00:18:27 -0800
commit9bf492e01dad7309287e8491ec7ac29f43032aed (patch)
tree852528f5a17b6fa1fef4028afee6eb79fd32c79a /samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml
parent6cfec77db6b95af5b31b741d513955ee3dfa3bb2 (diff)
samples: Add generic L3 forwarder tests
A generic throughput test case that can be used as a stub code for a Linux-based VNF configured as an L3 forwarder. Supported context: * Standalone OVSDPDK and SRIOV * Baremetal Code changes: * Allow pmd-cpu-mask and lcore mask for OVS DPDK * router_vnf.py - configures interface IP addresses and static arp entries using ip command * NFVi KPIs * Allow cputune tag for standalone context to be able to PIN on NUMA 1 cpus SRIOV Test cases: * RFC2544 Ethernet framesizes, 128K Flows * 2,4 and 6 ports * 2 and 3 vcpus per port * OVSDPDK Test cases: * RFC2544 Ethernet framesizes, 128K Flows * 2 and 4 ports * 2 vcpus per port * 2 PMD threads per port TODO: * Documentation * Add 6 ports tests References: * router_vnf.py is based on sample_vnf.py * tc_*.yaml files are based on acl/vfw test case files Added unitests Added get_stats to parse ip -s link Change-Id: Id1b969d5420dfcab7c1e695acbd2cd1655747efe Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com> Signed-off-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Reviewed-by: Alain Jebara <alain.jebara@intel.com> Reviewed-by: Deepak S <deepak.s@linux.intel.com> Reviewed-by: Emma Foley <emma.l.foley@intel.com> Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Reviewed-by: Ross Brattain <ross.b.brattain@intel.com> Reviewed-by: Edward MacGillivray <edward.s.macgillivray@intel.com> Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml')
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml116
1 files changed, 116 insertions, 0 deletions
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml
new file mode 100644
index 000000000..c141f4e57
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml
@@ -0,0 +1,116 @@
+# Copyright (c) 2016-2017 Intel Corporation
+#
+# 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.
+
+---
+schema: yardstick:task:0.1
+scenarios:
+- type: NSPerf
+ traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
+ topology: router-tg-topology.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ src_port:
+ - '1234-1238'
+ dst_port:
+ - '2001-2004'
+ count: 128000
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.1
+ tg__0:
+ queues_per_port: 7
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_ovs.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneOvsDpdk
+ file: /etc/yardstick/nodes/standalone/pod_ovs.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: 2.7.0
+ dpdk: 16.11.1
+ pmd_threads: 4
+ # override pmd_threads to use specific cpus
+ pmd_cpu_mask: "0x78"
+ lcore_mask: "0x4"
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_5cores.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='11'/>
+ <vcpupin vcpu='1' cpuset='12'/>
+ <vcpupin vcpu='2' cpuset='13'/>
+ <vcpupin vcpu='3' cpuset='14'/>
+ <vcpupin vcpu='4' cpuset='15'/>
+ </cputune>"
+ user: "root"
+ password: "password"
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '10.166.31.252'
+ cidr: '10.166.31.252/28'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:1a:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ port_num: 1
+ phy_port: "0000:18:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.100.20'