samples: Add generic L3 forwarder tests 19/49119/2
authorDino Madarang <dinox.madarang@intel.com>
Tue, 3 Oct 2017 01:02:17 +0000 (01:02 +0000)
committerRoss Brattain <ross.b.brattain@intel.com>
Sat, 16 Dec 2017 08:56:12 +0000 (08:56 +0000)
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>
(cherry picked from commit 9bf492e01dad7309287e8491ec7ac29f43032aed)

68 files changed:
samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/router-tg-topology.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml
samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml [new file with mode: 0644]
samples/vnf_samples/vnf_descriptors/router_vnf.yaml [new file with mode: 0644]
tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py [new file with mode: 0644]
yardstick/benchmark/contexts/standalone/model.py
yardstick/benchmark/contexts/standalone/ovs_dpdk.py
yardstick/network_services/vnf_generic/vnf/router_vnf.py [new file with mode: 0644]

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 (file)
index 0000000..94c64e8
--- /dev/null
@@ -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 (file)
index 0000000..5769578
--- /dev/null
@@ -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 (file)
index 0000000..6e63760
--- /dev/null
@@ -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 (file)
index 0000000..7b4db0e
--- /dev/null
@@ -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 (file)
index 0000000..5b268d0
--- /dev/null
@@ -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 (file)
index 0000000..20305df
--- /dev/null
@@ -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 (file)
index 0000000..73459c3
--- /dev/null
@@ -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 (file)
index 0000000..fb7f48a
--- /dev/null
@@ -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 (file)
index 0000000..c2bc0b7
--- /dev/null
@@ -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 (file)
index 0000000..bb17eb4
--- /dev/null
@@ -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 (file)
index 0000000..0726e10
--- /dev/null
@@ -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 (file)
index 0000000..6efc69c
--- /dev/null
@@ -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 (file)
index 0000000..be08b5b
--- /dev/null
@@ -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 (file)
index 0000000..afc4a68
--- /dev/null
@@ -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 (file)
index 0000000..c0bbc8c
--- /dev/null
@@ -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 (file)
index 0000000..c78f0c2
--- /dev/null
@@ -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 (file)
index 0000000..9d22329
--- /dev/null
@@ -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 (file)
index 0000000..45a8c2c
--- /dev/null
@@ -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 (file)
index 0000000..b3e4157
--- /dev/null
@@ -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 (file)
index 0000000..6d13532
--- /dev/null
@@ -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 (file)
index 0000000..99e9b8d
--- /dev/null
@@ -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 (file)
index 0000000..1a1be37
--- /dev/null
@@ -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 (file)
index 0000000..6c30b62
--- /dev/null
@@ -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 (file)
index 0000000..ddb59cb
--- /dev/null
@@ -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 (file)
index 0000000..c141f4e
--- /dev/null
@@ -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 (file)
index 0000000..bfa5ba4
--- /dev/null
@@ -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 (file)
index 0000000..ea5fb16
--- /dev/null
@@ -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 (file)
index 0000000..fea64f5
--- /dev/null
@@ -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 (file)
index 0000000..ac38751
--- /dev/null
@@ -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 (file)
index 0000000..145f69d
--- /dev/null
@@ -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 (file)
index 0000000..6417d93
--- /dev/null
@@ -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 (file)
index 0000000..ae46b86
--- /dev/null
@@ -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 (file)
index 0000000..d947e25
--- /dev/null
@@ -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 (file)
index 0000000..0467436
--- /dev/null
@@ -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 (file)
index 0000000..30119c7
--- /dev/null
@@ -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 (file)
index 0000000..ac52c29
--- /dev/null
@@ -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 (file)
index 0000000..2767851
--- /dev/null
@@ -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 (file)
index 0000000..006718f
--- /dev/null
@@ -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 (file)
index 0000000..601d308
--- /dev/null
@@ -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 (file)
index 0000000..18e25e2
--- /dev/null
@@ -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 (file)
index 0000000..bfaf74b
--- /dev/null
@@ -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 (file)
index 0000000..529c8a5
--- /dev/null
@@ -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 (file)
index 0000000..0d2cdfb
--- /dev/null
@@ -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 (file)
index 0000000..9e1e8eb
--- /dev/null
@@ -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 (file)
index 0000000..4b3fbe4
--- /dev/null
@@ -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 (file)
index 0000000..d23ab4e
--- /dev/null
@@ -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 (file)
index 0000000..0353b38
--- /dev/null
@@ -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 (file)
index 0000000..4fa2297
--- /dev/null
@@ -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 (file)
index 0000000..a7acbaf
--- /dev/null
@@ -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 (file)
index 0000000..121aaec
--- /dev/null
@@ -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 (file)
index 0000000..6e856c8
--- /dev/null
@@ -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 (file)
index 0000000..54a26bc
--- /dev/null
@@ -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 (file)
index 0000000..1ed39c2
--- /dev/null
@@ -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 (file)
index 0000000..c128df3
--- /dev/null
@@ -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 (file)
index 0000000..7be7c99
--- /dev/null
@@ -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 (file)
index 0000000..cf73e16
--- /dev/null
@@ -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 (file)
index 0000000..493acb2
--- /dev/null
@@ -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 (file)
index 0000000..6a88e3b
--- /dev/null
@@ -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 (file)
index 0000000..79aba60
--- /dev/null
@@ -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 (file)
index 0000000..f83c788
--- /dev/null
@@ -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 (file)
index 0000000..2c43972
--- /dev/null
@@ -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'
+
index 328e76f..a321887 100644 (file)
@@ -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 (file)
index 0000000..d849ed8
--- /dev/null
@@ -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 (file)
index 0000000..3325540
--- /dev/null
@@ -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 (file)
index 0000000..9ed6fd5
--- /dev/null
@@ -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()
index a8943c3..85ae14b 100644 (file)
@@ -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])
index a6c35de..3755b84 100644 (file)
@@ -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 (file)
index 0000000..aea27ff
--- /dev/null
@@ -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)