aboutsummaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml70
-rw-r--r--samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml90
-rw-r--r--samples/vnf_samples/nsut/router/router-tg-topology.yaml50
-rw-r--r--samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml49
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml102
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml120
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml115
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml116
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml106
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml142
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml140
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml125
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml141
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml93
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml93
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml93
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml93
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml92
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml93
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml92
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml121
-rw-r--r--samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml121
-rw-r--r--samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml8
-rw-r--r--samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml213
-rw-r--r--samples/vnf_samples/vnf_descriptors/router_vnf.yaml48
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py267
-rw-r--r--yardstick/benchmark/contexts/standalone/model.py5
-rw-r--r--yardstick/benchmark/contexts/standalone/ovs_dpdk.py12
-rw-r--r--yardstick/network_services/vnf_generic/vnf/router_vnf.py185
68 files changed, 7600 insertions, 3 deletions
diff --git a/samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml b/samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml
new file mode 100644
index 000000000..94c64e800
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml
@@ -0,0 +1,70 @@
+# 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.
+
+nsd:nsd-catalog:
+ nsd:
+ - id: router-tg-topology
+ name: router-tg-topology
+ short-name: router-tg-topology
+ description: router-tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/router_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__0
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 3
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: vnf__0
+ - id: downlink_1
+ name: vnf__0 to tg__0 link 4
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml b/samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml
new file mode 100644
index 000000000..57695784e
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml
@@ -0,0 +1,90 @@
+# 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.
+
+nsd:nsd-catalog:
+ nsd:
+ - id: router-tg-topology
+ name: router-tg-topology
+ short-name: router-tg-topology
+ description: router-tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/router_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__0
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 3
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: vnf__0
+ - id: downlink_1
+ name: vnf__0 to tg__0 link 4
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__0
+ - id: uplink_2
+ name: tg__0 to vnf__0 link 5
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe4
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe4
+ vnfd-id-ref: vnf__0
+ - id: downlink_2
+ name: vnf__0 to tg__0 link 6
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe5
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe5
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/nsut/router/router-tg-topology.yaml b/samples/vnf_samples/nsut/router/router-tg-topology.yaml
new file mode 100644
index 000000000..6e63760eb
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/router-tg-topology.yaml
@@ -0,0 +1,50 @@
+# 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.
+
+nsd:nsd-catalog:
+ nsd:
+ - id: 2node-topology
+ name: 2node-topology
+ short-name: 2node-topology
+ description: 2node-topology
+ constituent-vnfd:
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/router_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__0
+
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
new file mode 100644
index 000000000..7b4db0e64
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
@@ -0,0 +1,49 @@
+# 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
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26'
+ dst_ip:
+ - '152.16.40.26'
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ tg__0:
+ queues_per_port: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ type: Node
+ name: yardstick
+ nfvi_type: baremetal
+ file: /etc/yardstick/nodes/pod.yaml
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml
new file mode 100644
index 000000000..5b268d09e
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml
new file mode 100644
index 000000000..20305df7c
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml
new file mode 100644
index 000000000..73459c340
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml
new file mode 100644
index 000000000..fb7f48a2f
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: 2
+ interval: 35
+contexts:
+ - name: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml
new file mode 100644
index 000000000..c2bc0b7d2
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml
new file mode 100644
index 000000000..bb17eb4b2
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml
new file mode 100644
index 000000000..0726e1063
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml
@@ -0,0 +1,102 @@
+# 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.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c2p
+ flavor:
+ vcpus: 5
+ ram: 20480
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 5
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 1
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_mem.0: 20480
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml
new file mode 100644
index 000000000..6efc69c40
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml
new file mode 100644
index 000000000..be08b5b39
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml
new file mode 100644
index 000000000..afc4a6839
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml
new file mode 100644
index 000000000..c0bbc8cdc
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml
new file mode 100644
index 000000000..c78f0c2c1
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml
new file mode 100644
index 000000000..9d223299a
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml
new file mode 100644
index 000000000..45a8c2c5a
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml
@@ -0,0 +1,120 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: compute_0.compute_nodes
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '10.0.2.26-10.0.2.105'
+ - '10.0.4.26-10.0.4.105'
+ dst_ip:
+ - '10.0.3.26-10.0.3.105'
+ - '10.0.5.26-10.0.5.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: compute_nodes
+ type: Node
+ file: /etc/yardstick/nodes/compute.yaml
+
+ - name: baremetal
+ type: Node
+ file: /etc/yardstick/nodes/pod_4p.yaml
+
+ - name: yardstick
+ image: vrouter_affinity_2c4p
+ flavor:
+ vcpus: 9
+ ram: 8192
+ disk: 10
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ hw:mem_page_size: large
+ hw:cpu_policy: dedicated
+ hw:cpu_thread_policy: prefer
+ hw:numa_nodes: 2
+ hw:numa_mempolicy: preffered
+ hw:numa_cpus.0: 0,1,2,3,4
+ hw:numa_cpus.1: 5,6,7,8
+ hw:numa_mem.0: 4096
+ hw:numa_mem.1: 4096
+ user: "root"
+ password: "password"
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ vnf:
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ xe0:
+ cidr: '10.0.2.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant2
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe1:
+ cidr: '10.0.3.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant3
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe2:
+ cidr: '10.0.4.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant4
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ xe3:
+ cidr: '10.0.5.0/24'
+ gateway_ip: 'null'
+ provider: true
+ physical_network: phystenant5
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_trex.yaml
new file mode 100644
index 000000000..b3e4157f5
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_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: {1024B: 100}
+ downlink: {1024B: 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; 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/30'
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_trex.yaml
new file mode 100644
index 000000000..6d1353297
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_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: {1280B: 100}
+ downlink: {1280B: 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; 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_trex.yaml
new file mode 100644
index 000000000..99e9b8d0e
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_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: {128B: 100}
+ downlink: {128B: 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; 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml
new file mode 100644
index 000000000..1a1be3732
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml
@@ -0,0 +1,115 @@
+# 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: {1518B: 100}
+ downlink: {1518B: 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: 2
+ 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
+ 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.40.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_trex.yaml
new file mode 100644
index 000000000..6c30b621e
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_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: {256B: 100}
+ downlink: {256B: 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_trex.yaml
new file mode 100644
index 000000000..ddb59cbe6
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_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: {512B: 100}
+ downlink: {512B: 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'
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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml
new file mode 100644
index 000000000..bfa5ba4f0
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {1024B: 100}
+ downlink: {1024B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: "root"
+ password: "password"
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '10.166.31.252'
+ cidr: '10.166.31.252/30'
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml
new file mode 100644
index 000000000..ea5fb16a9
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {1280B: 100}
+ downlink: {1280B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml
new file mode 100644
index 000000000..fea64f5e7
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {128B: 100}
+ downlink: {128B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml
new file mode 100644
index 000000000..ac38751e9
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {1518B: 100}
+ downlink: {1518B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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.40.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml
new file mode 100644
index 000000000..145f69d89
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {256B: 100}
+ downlink: {256B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml
new file mode 100644
index 000000000..6417d9342
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml
@@ -0,0 +1,106 @@
+# 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: {512B: 100}
+ downlink: {512B: 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml
new file mode 100644
index 000000000..ae46b865f
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml
@@ -0,0 +1,106 @@
+# 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
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ 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'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml
new file mode 100644
index 000000000..d947e254f
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml
new file mode 100644
index 000000000..0467436ba
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ #gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml
new file mode 100644
index 000000000..30119c76d
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml
new file mode 100644
index 000000000..ac52c29c5
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml
@@ -0,0 +1,142 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 5
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ # 8 cores (CPU 22-29) in NUMA 1 of a 2 socket 20 cpus per socket
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml
new file mode 100644
index 000000000..2767851a6
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml
new file mode 100644
index 000000000..006718fa2
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: ovs_dpdk.yardstick
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml
new file mode 100644
index 000000000..601d30891
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml
@@ -0,0 +1,140 @@
+# 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-2.yaml
+ topology: router-tg-topology-4port.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'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ 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_4ports.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: 8
+ # override pmd_threads to use NUMA 1 vcpus
+ pmd_cpu_mask: "0x3FC00000"
+ lcore_mask: "0x200000"
+ ram:
+ socket_0: 0
+ socket_1: 4096
+ queues: 2
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:88: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:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ port_num: 2
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ port_num: 3
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml
new file mode 100644
index 000000000..18e25e25d
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml
new file mode 100644
index 000000000..bfaf74b5c
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml
new file mode 100644
index 000000000..529c8a5ef
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml
new file mode 100644
index 000000000..0d2cdfbc0
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml
new file mode 100644
index 000000000..9e1e8ebd3
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml
new file mode 100644
index 000000000..4b3fbe4b3
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml
new file mode 100644
index 000000000..d23ab4e69
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml
@@ -0,0 +1,125 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml
new file mode 100644
index 000000000..0353b3875
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml
@@ -0,0 +1,141 @@
+# 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-3.yaml
+ topology: router-tg-topology-6port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ - '152.16.102.26-152.16.102.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.105'
+ - '152.16.42.26-152.16.42.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_6ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_13cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 13
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='27'/>
+ <vcpupin vcpu='1' cpuset='28'/>
+ <vcpupin vcpu='2' cpuset='29'/>
+ <vcpupin vcpu='3' cpuset='30'/>
+ <vcpupin vcpu='4' cpuset='31'/>
+ <vcpupin vcpu='5' cpuset='32'/>
+ <vcpupin vcpu='6' cpuset='33'/>
+ <vcpupin vcpu='7' cpuset='34'/>
+ <vcpupin vcpu='8' cpuset='35'/>
+ <vcpupin vcpu='9' cpuset='36'/>
+ <vcpupin vcpu='10' cpuset='37'/>
+ <vcpupin vcpu='11' cpuset='38'/>
+ <vcpupin vcpu='12' cpuset='39'/>
+ <emulatorpin cpuset='27-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ xe4:
+ - uplink_2
+ xe5:
+ - downlink_2
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:81:00.1"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+ uplink_2:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0b.0"
+ cidr: '152.16.102.19/24'
+ gateway_ip: '152.16.102.20'
+ downlink_2:
+ phy_port: "0000:86:00.1"
+ vpci: "0000:00:0c.0"
+ cidr: '152.16.42.19/24'
+ gateway_ip: '152.16.42.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml
new file mode 100644
index 000000000..4fa22975f
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml
@@ -0,0 +1,93 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 6
+ hw:cpu_threads: 2
+ user: "root"
+ password: "password"
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml
new file mode 100644
index 000000000..a7acbafdd
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml
@@ -0,0 +1,93 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml
new file mode 100644
index 000000000..121aaec4b
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml
@@ -0,0 +1,93 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.100.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml
new file mode 100644
index 000000000..6e856c80e
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml
@@ -0,0 +1,93 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml
new file mode 100644
index 000000000..54a26bc49
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml
@@ -0,0 +1,92 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.100.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml
new file mode 100644
index 000000000..1ed39c236
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml
@@ -0,0 +1,93 @@
+# 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
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.100.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml
new file mode 100644
index 000000000..c128df37b
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml
@@ -0,0 +1,92 @@
+# 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
+ cpt__0: sriov.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: 4
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+
+ - name: yardstick
+ type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 1
+ user: root
+ password: password
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ ip: '192.168.18.185'
+ cidr: '192.168.18.185/30'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.100.20'
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml
new file mode 100644
index 000000000..7be7c991c
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1024B: 100}
+ downlink: {1024B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml
new file mode 100644
index 000000000..cf73e1690
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1280B: 100}
+ downlink: {1280B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml
new file mode 100644
index 000000000..493acb20b
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {128B: 100}
+ downlink: {128B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml
new file mode 100644
index 000000000..6a88e3b8c
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {1518B: 100}
+ downlink: {1518B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml
new file mode 100644
index 000000000..79aba6043
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {256B: 100}
+ downlink: {256B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml
new file mode 100644
index 000000000..f83c78872
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {512B: 100}
+ downlink: {512B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml
new file mode 100644
index 000000000..2c4397233
--- /dev/null
+++ b/samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml
@@ -0,0 +1,121 @@
+# 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-4port.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+# Required for enabling NFVi collection
+ cpt__0: sriov.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - '152.16.100.26-152.16.100.105'
+ - '152.16.101.26-152.16.101.105'
+ dst_ip:
+ - '152.16.40.26-152.16.40.105'
+ - '152.16.41.26-152.16.41.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: 8
+ vnf__0:
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_4ports.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu_9cores.qcow2"
+ ram: 4096
+ hw_socket: 1
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 9
+ hw:cpu_threads: 1
+ cputune: "<cputune>
+ <vcpupin vcpu='0' cpuset='31'/>
+ <vcpupin vcpu='1' cpuset='32'/>
+ <vcpupin vcpu='2' cpuset='33'/>
+ <vcpupin vcpu='3' cpuset='34'/>
+ <vcpupin vcpu='4' cpuset='35'/>
+ <vcpupin vcpu='5' cpuset='36'/>
+ <vcpupin vcpu='6' cpuset='37'/>
+ <vcpupin vcpu='7' cpuset='38'/>
+ <vcpupin vcpu='8' cpuset='39'/>
+ <emulatorpin cpuset='31-39'/>
+ </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
+ xe2:
+ - uplink_1
+ xe3:
+ - downlink_1
+ networks:
+ uplink_0:
+ phy_port: "0000:88:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.19/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:d8:00.0"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.19/24'
+ gateway_ip: '152.16.40.20'
+ uplink_1:
+ phy_port: "0000:81:00.0"
+ vpci: "0000:00:09.0"
+ cidr: '152.16.101.19/24'
+ gateway_ip: '152.16.101.20'
+ downlink_1:
+ phy_port: "0000:86:00.0"
+ vpci: "0000:00:0a.0"
+ cidr: '152.16.41.19/24'
+ gateway_ip: '152.16.41.20'
+
diff --git a/samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml b/samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml
index 328e76fb6..a3218879b 100644
--- a/samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml
+++ b/samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml
@@ -57,6 +57,8 @@ uplink_0:
373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
@@ -82,6 +84,8 @@ downlink_0:
373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
@@ -108,6 +112,8 @@ uplink_1:
373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
@@ -133,6 +139,8 @@ downlink_1:
373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
diff --git a/samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml b/samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml
new file mode 100644
index 000000000..d849ed8ab
--- /dev/null
+++ b/samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml
@@ -0,0 +1,213 @@
+# 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.
+
+# flow definition for ACL tests - 1K flows - ipv4 only
+#
+# the number of flows defines the widest range of parameters
+# for example if srcip_range=1.0.0.1-1.0.0.255 and dst_ip_range=10.0.0.1-10.0.1.255
+# and it should define only 16 flows
+#
+# there is assumption that packets generated will have a random sequences of following addresses pairs
+# in the packets
+# 1. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+# 2. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+# ...
+# 512. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+#
+# not all combination should be filled
+# Any other field with random range will be added to flow definition
+#
+# the example.yaml provides all possibilities for traffic generation
+#
+# the profile defines a public and private side to make limited traffic correlation
+# between private and public side same way as it is made by IXIA solution.
+#
+---
+schema: "nsb:traffic_profile:0.1"
+
+# This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator
+
+name: rfc2544
+description: Traffic profile to run RFC2544 latency
+traffic_profile:
+ traffic_type: RFC2544Profile # defines traffic behavior - constant or look for highest possible throughput
+ frame_rate: 100 # pc of linerate
+ # that specifies a range (e.g. ipv4 address, port)
+
+
+uplink_0:
+ ipv4:
+ id: 1
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.1.255.255') }}"
+ dstip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.dst_port_0', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+downlink_0:
+ ipv4:
+ id: 2
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
+
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
+ dstip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.1.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.dst_port_0', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.src_port_0', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+uplink_1:
+ ipv4:
+ id: 3
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.src_ip_1', '1.1.1.1-1.1.255.255') }}"
+ dstip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.90.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.src_port_1', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.dst_port_1', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+downlink_1:
+ ipv4:
+ id: 4
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
+
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.90.255.255') }}"
+ dstip4: "{{get(flow, 'flow.src_ip_1', '1.1.1.1-1.1.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.dst_port_1', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.src_port_1', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+uplink_2:
+ ipv4:
+ id: 5
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.src_ip_1', '1.1.1.1-1.1.255.255') }}"
+ dstip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.90.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.src_port_1', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.dst_port_1', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+downlink_2:
+ ipv4:
+ id: 6
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+ 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
+
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.90.255.255') }}"
+ dstip4: "{{get(flow, 'flow.src_ip_1', '1.1.1.1-1.1.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.dst_port_1', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.src_port_1', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
diff --git a/samples/vnf_samples/vnf_descriptors/router_vnf.yaml b/samples/vnf_samples/vnf_descriptors/router_vnf.yaml
new file mode 100644
index 000000000..3325540b3
--- /dev/null
+++ b/samples/vnf_samples/vnf_descriptors/router_vnf.yaml
@@ -0,0 +1,48 @@
+# 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.
+
+vnfd:vnfd-catalog:
+ vnfd:
+ - id: RouterVNF
+ name: RouterVNF
+ short-name: RouterVnf
+ description: RouterVNF
+ mgmt-interface:
+ vdu-id: routervnf-baremetal
+ {% if user is defined %}
+ user: '{{user}}' # Value filled by vnfdgen
+ {% endif %}
+ {% if password is defined %}
+ password: '{{password}}' # Value filled by vnfdgen
+ {% endif %}
+ {% if ip is defined %}
+ ip: '{{ip}}' # Value filled by vnfdgen
+ {% endif %}
+ {% if key_filename is defined %}
+ key_filename: '{{key_filename}}' # Value filled by vnfdgen
+ {% endif %}
+ vdu:
+ - id: routervnf-baremetal
+ name: routervnf-baremetal
+ description: RouterVNF
+ vm-flavor:
+ vcpu-count: '4'
+ memory-mb: '4096'
+ routing_table: {{ routing_table }}
+ nd_route_tbl: {{ nd_route_tbl }}
+ benchmark:
+ kpi:
+ - packets_in
+ - packets_fwd
+ - packets_dropped
diff --git a/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py
new file mode 100644
index 000000000..9ed6fd5b3
--- /dev/null
+++ b/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py
@@ -0,0 +1,267 @@
+#!/usr/bin/env python
+
+# 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.
+#
+
+from __future__ import absolute_import
+
+import unittest
+import mock
+
+from tests.unit import STL_MOCKS
+from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
+
+
+STLClient = mock.MagicMock()
+stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
+stl_patch.start()
+
+if stl_patch:
+ from yardstick.network_services.vnf_generic.vnf.router_vnf import RouterVNF
+
+
+TEST_FILE_YAML = 'nsb_test_case.yaml'
+SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
+
+
+name = 'vnf__1'
+
+
+class TestRouterVNF(unittest.TestCase):
+ VNFD = {'vnfd:vnfd-catalog':
+ {'vnfd':
+ [{'short-name': 'RouterVNF',
+ 'vdu':
+ [{'routing_table': [],
+ 'description': 'RouterVNF',
+ 'name': 'router-baremetal',
+ 'nd_route_tbl': [],
+ 'id': 'router-baremetal',
+ 'external-interface':
+ [{'virtual-interface':
+ {'dst_mac': '00:00:00:00:00:04',
+ 'vpci': '0000:05:00.0',
+ 'local_ip': '152.16.100.19',
+ 'type': 'PCI-PASSTHROUGH',
+ 'netmask': '255.255.255.0',
+ 'dpdk_port_num': 0,
+ 'bandwidth': '10 Gbps',
+ 'driver': "i40e",
+ 'dst_ip': '152.16.100.20',
+ 'local_iface_name': 'xe0',
+ 'local_mac': '00:00:00:00:00:02'},
+ 'vnfd-connection-point-ref': 'xe0',
+ 'name': 'xe0'},
+ {'virtual-interface':
+ {'dst_mac': '00:00:00:00:00:03',
+ 'vpci': '0000:05:00.1',
+ 'local_ip': '152.16.40.19',
+ 'type': 'PCI-PASSTHROUGH',
+ 'driver': "i40e",
+ 'netmask': '255.255.255.0',
+ 'dpdk_port_num': 1,
+ 'bandwidth': '10 Gbps',
+ 'dst_ip': '152.16.40.20',
+ 'local_iface_name': 'xe1',
+ 'local_mac': '00:00:00:00:00:01'},
+ 'vnfd-connection-point-ref': 'xe1',
+ 'name': 'xe1'}]}],
+ 'description': 'RouterVNF',
+ 'mgmt-interface':
+ {'vdu-id': 'router-baremetal',
+ 'host': '1.2.1.1',
+ 'password': 'r00t',
+ 'user': 'root',
+ 'ip': '1.2.1.1'},
+ 'benchmark':
+ {'kpi': ['packets_in', 'packets_fwd', 'packets_dropped']},
+ 'connection-point': [{'type': 'VPORT', 'name': 'xe0'},
+ {'type': 'VPORT', 'name': 'xe1'}],
+ 'id': 'RouterVNF', 'name': 'VPEVnfSsh'}]}}
+
+ scenario_cfg = {'nodes': {'cpt__0': 'compute_0.compute_nodes',
+ 'tg__0': 'trafficgen_1.baremetal',
+ 'vnf__0': 'vnf.yardstick'},
+ 'options': {'flow': {'count': 128000,
+ 'dst_ip': ['10.0.3.26-10.0.3.105'],
+ 'dst_port': ['2001-2004'],
+ 'src_ip': ['10.0.2.26-10.0.2.105'],
+ 'src_port': ['1234-1238']},
+ 'framesize': {'downlink': {'1024B': 100},
+ 'uplink': {'1024B': 100}},
+ 'rfc2544': {'allowed_drop_rate': '0.0001 - 0.1'},
+ 'tg__0': {'queues_per_port': 7},
+ 'traffic_type': 4,
+ 'vnf__0': {'nfvi_enable': True}},
+ 'runner': {'interval': 35,
+ 'iterations': 10,
+ 'type': 'Iteration'},
+ 'topology': 'router-tg-topology.yaml',
+ 'traffic_profile': '../../traffic_profiles/ipv4_throughput.yaml',
+ 'type': 'NSPerf'}
+
+ context_cfg = {'nodes': {'tg__1':
+ {'member-vnf-index': '1',
+ 'role': 'TrafficGen',
+ 'name': 'trafficgen_1.yardstick',
+ 'vnfd-id-ref': 'tg__1',
+ 'ip': '1.2.1.1',
+ 'interfaces':
+ {'xe0': {'local_iface_name': 'ens785f0',
+ 'vld_id': RouterVNF.UPLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.20',
+ 'dst_mac': '00:00:00:00:00:02',
+ 'local_mac': '00:00:00:00:00:04',
+ 'dst_ip': '152.16.100.19',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.0',
+ 'dpdk_port_num': 0},
+ 'xe1': {'local_iface_name': 'ens785f1',
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.21',
+ 'local_mac': '00:00:00:00:00:01',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.1',
+ 'dpdk_port_num': 1}},
+ 'password': 'r00t',
+ 'VNF model': 'tg_rfc2544_tpl.yaml',
+ 'user': 'root'},
+ 'vnf__1':
+ {'name': 'vnf.yardstick',
+ 'vnfd-id-ref': 'vnf__1',
+ 'ip': '1.2.1.1',
+ 'interfaces':
+ {'xe0': {'local_iface_name': 'ens786f0',
+ 'vld_id': RouterVNF.UPLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.19',
+ 'dst_mac': '00:00:00:00:00:04',
+ 'local_mac': '00:00:00:00:00:02',
+ 'dst_ip': '152.16.100.20',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.0',
+ 'dpdk_port_num': 0},
+ 'xe1': {'local_iface_name': 'ens786f1',
+ 'vld_id': RouterVNF.DOWNLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.40.19',
+ 'dst_mac': '00:00:00:00:00:03',
+ 'local_mac': '00:00:00:00:00:01',
+ 'dst_ip': '152.16.40.20',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.1',
+ 'dpdk_port_num': 1}},
+ 'routing_table': [],
+ 'member-vnf-index': '2',
+ 'host': '1.2.1.1',
+ 'role': 'vnf',
+ 'user': 'root',
+ 'nd_route_tbl': [],
+ 'password': 'r00t',
+ 'VNF model': 'router_vnf.yaml'}}}
+
+ IP_SHOW_STATS_OUTPUT = """\
+2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
+ link/ether d4:c9:ef:52:7c:4d brd ff:ff:ff:ff:ff:ff
+ RX: bytes packets errors dropped overrun mcast
+ 2781945429 3202213 0 0 0 30131
+ RX errors: length crc frame fifo missed
+ 0 0 0 0 0
+ TX: bytes packets errors dropped carrier collsns
+ 646221183 2145799 0 0 0 0
+ TX errors: aborted fifo window heartbeat
+ 0 0 0 0
+"""
+ STATS = {
+ 'RX:bytes': '2781945429',
+ 'RX:dropped': '0',
+ 'RX:errors': '0',
+ 'RX:mcast': '30131',
+ 'RX:overrun': '0',
+ 'RX:packets': '3202213',
+ 'RX errors:length': '0',
+ 'RX errors:crc': '0',
+ 'RX errors:frame': '0',
+ 'RX errors:fifo': '0',
+ 'RX errors:missed': '0',
+ 'TX:bytes': '646221183',
+ 'TX:carrier': '0',
+ 'TX:collsns': '0',
+ 'TX:dropped': '0',
+ 'TX:errors': '0',
+ 'TX:packets': '2145799',
+ 'TX errors:aborted': '0',
+ 'TX errors:fifo': '0',
+ 'TX errors:window': '0',
+ 'TX errors:heartbeat': '0',
+ }
+
+ def test___init__(self):
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ self.assertIsNone(router_vnf._vnf_process)
+
+ def test_get_stats(self):
+ stats = RouterVNF.get_stats(self.IP_SHOW_STATS_OUTPUT)
+ self.assertDictEqual(stats, self.STATS)
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
+ @mock.patch(SSH_HELPER)
+ def test_collect_kpi(self, ssh, _):
+ m = mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.ssh_helper = m
+ result = {'packets_dropped': 0, 'packets_fwd': 0, 'packets_in': 0, 'link_stats': {}}
+ self.assertEqual(result, router_vnf.collect_kpi())
+
+ @mock.patch(SSH_HELPER)
+ def test_run_router(self, ssh):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
+ router_vnf._run()
+ router_vnf.ssh_helper.drop_connection.assert_called_once()
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.router_vnf.Context")
+ @mock.patch(SSH_HELPER)
+ def test_instantiate(self, ssh, _):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.WAIT_TIME = 0
+ router_vnf.INTERFACE_WAIT = 0
+ self.scenario_cfg.update({"nodes": {"vnf__1": ""}})
+ self.assertIsNone(router_vnf.instantiate(self.scenario_cfg,
+ self.context_cfg))
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
+ @mock.patch(SSH_HELPER)
+ def test_terminate(self, ssh, _):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf._vnf_process = mock.MagicMock()
+ router_vnf._vnf_process.terminate = mock.Mock()
+ self.assertEqual(None, router_vnf.terminate())
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/yardstick/benchmark/contexts/standalone/model.py b/yardstick/benchmark/contexts/standalone/model.py
index a8943c3f6..85ae14b1d 100644
--- a/yardstick/benchmark/contexts/standalone/model.py
+++ b/yardstick/benchmark/contexts/standalone/model.py
@@ -43,6 +43,7 @@ VM_TEMPLATE = """
<hugepages />
</memoryBacking>
<vcpu cpuset='{cpuset}'>{vcpu}</vcpu>
+ {cputune}
<os>
<type arch="x86_64" machine="pc-i440fx-utopic">hvm</type>
<boot dev="hd" />
@@ -242,6 +243,7 @@ class Libvirt(object):
hw_socket = flavor.get('hw_socket', '0')
cpuset = Libvirt.pin_vcpu_for_perf(connection, hw_socket)
+ cputune = extra_spec.get('cputune', '')
mac = StandaloneContextHelper.get_mac_address(0x00)
image = cls.create_snapshot_qemu(connection, index,
flavor.get("images", None))
@@ -252,7 +254,7 @@ class Libvirt(object):
memory=memory, vcpu=vcpu, cpu=cpu,
numa_cpus=numa_cpus,
socket=socket, threads=threads,
- vm_image=image, cpuset=cpuset)
+ vm_image=image, cpuset=cpuset, cputune=cputune)
write_file(cfg, vm_xml)
@@ -269,6 +271,7 @@ class Libvirt(object):
sys_obj = CpuSysCores(connection)
soc_cpu = sys_obj.get_core_socket()
sys_cpu = int(soc_cpu["cores_per_socket"])
+ socket = str(socket)
cores = "%s-%s" % (soc_cpu[socket][0], soc_cpu[socket][sys_cpu - 1])
if int(soc_cpu["thread_per_core"]) > 1:
threads = "%s-%s" % (soc_cpu[socket][sys_cpu], soc_cpu[socket][-1])
diff --git a/yardstick/benchmark/contexts/standalone/ovs_dpdk.py b/yardstick/benchmark/contexts/standalone/ovs_dpdk.py
index a6c35de53..3755b84e9 100644
--- a/yardstick/benchmark/contexts/standalone/ovs_dpdk.py
+++ b/yardstick/benchmark/contexts/standalone/ovs_dpdk.py
@@ -129,13 +129,21 @@ class OvsDpdkContext(Context):
ovs_sock_path = '/var/run/openvswitch/db.sock'
log_path = '/var/log/openvswitch/ovs-vswitchd.log'
+ pmd_cpu_mask = self.ovs_properties.get("pmd_cpu_mask", '')
pmd_mask = hex(sum(2 ** num for num in range(pmd_nums)) << 1)
+ if pmd_cpu_mask:
+ pmd_mask = pmd_cpu_mask
+
socket0 = self.ovs_properties.get("ram", {}).get("socket_0", "2048")
socket1 = self.ovs_properties.get("ram", {}).get("socket_1", "2048")
ovs_other_config = "ovs-vsctl {0}set Open_vSwitch . other_config:{1}"
detach_cmd = "ovs-vswitchd unix:{0}{1} --pidfile --detach --log-file={2}"
+ lcore_mask = self.ovs_properties.get("lcore_mask", '')
+ if lcore_mask:
+ lcore_mask = ovs_other_config.format("--no-wait ", "dpdk-lcore-mask='%s'" % lcore_mask)
+
cmd_list = [
"mkdir -p /usr/local/var/run/openvswitch",
"mkdir -p {}".format(os.path.dirname(log_path)),
@@ -143,6 +151,7 @@ class OvsDpdkContext(Context):
ovs_sock_path),
ovs_other_config.format("--no-wait ", "dpdk-init=true"),
ovs_other_config.format("--no-wait ", "dpdk-socket-mem='%s,%s'" % (socket0, socket1)),
+ lcore_mask,
detach_cmd.format(vpath, ovs_sock_path, log_path),
ovs_other_config.format("", "pmd-cpu-mask=%s" % pmd_mask),
]
@@ -296,8 +305,7 @@ class OvsDpdkContext(Context):
except StopIteration:
pass
else:
- raise ValueError("Duplicate nodes!!! Nodes: %s %s",
- (node, duplicate))
+ raise ValueError("Duplicate nodes!!! Nodes: %s %s" % (node, duplicate))
node["name"] = attr_name
return node
diff --git a/yardstick/network_services/vnf_generic/vnf/router_vnf.py b/yardstick/network_services/vnf_generic/vnf/router_vnf.py
new file mode 100644
index 000000000..aea27ffa6
--- /dev/null
+++ b/yardstick/network_services/vnf_generic/vnf/router_vnf.py
@@ -0,0 +1,185 @@
+# 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.
+""" Add generic L3 forwarder implementation based on sample_vnf.py"""
+
+from __future__ import absolute_import
+import logging
+import time
+import itertools
+
+import re
+from netaddr import IPRange
+
+from six.moves import zip
+
+from yardstick.benchmark.contexts.base import Context
+from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNF, \
+ DpdkVnfSetupEnvHelper
+
+LOG = logging.getLogger(__name__)
+
+
+class RouterVNF(SampleVNF):
+
+ WAIT_TIME = 1
+
+ def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+ if setup_env_helper_type is None:
+ setup_env_helper_type = DpdkVnfSetupEnvHelper
+
+ # For heat test cases
+ vnfd['mgmt-interface'].pop("pkey", "")
+ vnfd['mgmt-interface']['password'] = 'password'
+
+ super(RouterVNF, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
+
+ def instantiate(self, scenario_cfg, context_cfg):
+ self.scenario_helper.scenario_cfg = scenario_cfg
+ self.context_cfg = context_cfg
+ self.nfvi_context = Context.get_context_from_server(self.scenario_helper.nodes[self.name])
+ self.configure_routes(self.name, scenario_cfg, context_cfg)
+
+ def wait_for_instantiate(self):
+ time.sleep(self.WAIT_TIME)
+
+ def _run(self):
+ # we can't share ssh paramiko objects to force new connection
+ self.ssh_helper.drop_connection()
+
+ def terminate(self):
+ self._tear_down()
+ self.resource_helper.stop_collect()
+
+ def scale(self, flavor=""):
+ pass
+
+ @staticmethod
+ def row_with_header(header, data):
+ """Returns dictionary per row of values for 'ip show stats'.
+
+ Args:
+ header(str): output header
+ data(str): output data
+
+ Returns:
+ dict: dictionary per row of values for 'ip show stats'
+
+ """
+ prefix, columns = header.strip().split(':')
+ column_names = ["{0}:{1}".format(prefix, h) for h in columns.split()]
+ return dict(list(zip(column_names, data.strip().split())))
+
+ RX_TX_RE = re.compile(r"\s+[RT]X[^:]*:")
+
+ @classmethod
+ def get_stats(cls, stdout):
+ """Returns list of IP statistics.
+
+ Args:
+ stdout(str): command output
+
+ Returns:
+ dict: list of IP statistics
+
+ """
+ input_lines = stdout.splitlines()
+ table = {}
+ for n, row in enumerate(input_lines):
+ if cls.RX_TX_RE.match(row):
+ # use pairs of rows, header and data
+ table.update(cls.row_with_header(*input_lines[n:n + 2]))
+ return table
+
+ def collect_kpi(self):
+ # Implement stats collection
+ ip_link_stats = '/sbin/ip -s link'
+ stdout = self.ssh_helper.execute(ip_link_stats)[1]
+ link_stats = self.get_stats(stdout)
+ # get RX/TX from link_stats and assign to results
+
+ result = {
+ "packets_in": 0,
+ "packets_dropped": 0,
+ "packets_fwd": 0,
+ "link_stats": link_stats
+ }
+
+ LOG.debug("%s collect KPIs %s", "RouterVNF", result)
+ return result
+
+ INTERFACE_WAIT = 2
+
+ def configure_routes(self, node_name, scenario_cfg, context_cfg):
+ # Configure IP of dataplane ports and add static ARP entries
+ #
+ # This function should be modified to configure a 3rd party/commercial VNF.
+ # The current implementation works on a Linux based VNF with "ip" command.
+ #
+ # Flow contains:
+ # {'src_ip': ['152.16.100.26-152.16.100.27'],
+ # 'dst_ip': ['152.16.40.26-152.16.40.27'], 'count': 2}
+
+ ifaces = []
+ dst_macs = []
+
+ ip_cmd_replace = '/sbin/ip addr replace %s/24 dev %s'
+ ip_cmd_up = '/sbin/ip link set %s up'
+ ip_cmd_flush = '/sbin/ip address flush dev %s'
+
+ # Get VNF IPs from test case file
+ for value in context_cfg['nodes'][node_name]['interfaces'].values():
+ dst_macs.append(value['dst_mac'])
+
+ # Get the network interface name using local_mac
+ iname = self.ssh_helper.execute("/sbin/ip a |grep -B 1 %s | head -n 1"
+ % (value['local_mac']))
+ iname = iname[1].split(":")[1].strip()
+ ifaces.append(iname)
+
+ self.ssh_helper.execute(ip_cmd_flush % iname)
+
+ # Get the local_ip from context_cfg and assign to the data ports
+ self.ssh_helper.execute(ip_cmd_replace % (str(value['local_ip']),
+ iname))
+ # Enable interface
+ self.ssh_helper.execute(ip_cmd_up % iname)
+ time.sleep(self.INTERFACE_WAIT)
+
+ # Configure static ARP entries for each IP
+ # using SSH or REST API calls
+ try:
+ src_ips = scenario_cfg['options']['flow']['src_ip']
+ dst_ips = scenario_cfg['options']['flow']['dst_ip']
+ except KeyError:
+ raise KeyError("Missing flow definition in scenario section" +
+ " of the task definition file")
+
+ # Multiport
+ ip_ranges = []
+ for src, dst in zip(src_ips, dst_ips):
+ range1 = itertools.cycle(iter(src.split('-')))
+ range2 = itertools.cycle(iter(dst.split('-')))
+
+ range1 = IPRange(next(range1), next(range1))
+ range2 = IPRange(next(range2), next(range2))
+ ip_ranges.append(range1)
+ ip_ranges.append(range2)
+
+ ip_cmd = '/sbin/ip neigh add %s lladdr %s dev %s nud perm'
+ for idx, iface in enumerate(ifaces):
+ for addr in ip_ranges[idx]:
+ self.ssh_helper.execute(ip_cmd % (addr, dst_macs[idx], iface))
+
+ arp_status = self.ssh_helper.execute("arp -a -n")
+ LOG.debug('arp %s', arp_status)