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