diff options
Diffstat (limited to 'samples/vnf_samples/nsut')
-rw-r--r-- | samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-up.yaml | 52 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/cgnapt/standalone-args.yaml | 49 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml (renamed from samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_trex_scale_up.yaml) | 38 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml | 109 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml | 98 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/vfw/standalone-args.yaml | 45 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml (renamed from samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_trex_scale_up.yaml) | 33 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/vfw/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml | 105 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/vfw/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml | 94 |
9 files changed, 603 insertions, 20 deletions
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-up.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-up.yaml new file mode 100644 index 000000000..f68d5d09b --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-up.yaml @@ -0,0 +1,52 @@ +# Copyright (c) 2019 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. +--- +{% set vports = get(extra_args, 'vports', 2) %} +nsd:nsd-catalog: + nsd: + - id: 3tg-topology + name: 3tg-topology + short-name: 3tg-topology + description: 3tg-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/cgnapt_vnf.yaml #VNF type + + vld: +{% for vport in range(0,vports,2|int) %} + - id: uplink_{{loop.index0}} + name: tg__0 to vnf__0 link {{vport + 1}} + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{vport}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe{{vport}} + vnfd-id-ref: vnf__0 + - id: downlink_{{loop.index0}} + name: vnf__0 to tg__0 link {{vport + 2}} + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe{{vport+1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{vport+1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/standalone-args.yaml b/samples/vnf_samples/nsut/cgnapt/standalone-args.yaml new file mode 100644 index 000000000..ee47ab4d1 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/standalone-args.yaml @@ -0,0 +1,49 @@ +# Copyright (c) 2019 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. + +--- +public_ip: + - "152.16.40.10" + - "152.16.30.10" + +networks: + uplink: + - + port_num: 0 + phy_port: "0000:05:00.0" + vpci: "0000:00:0a.0" + cidr: '152.16.100.10/24' + gateway_ip: '152.16.100.20' + - + port_num: 2 + phy_port: "0000:05:00.2" + vpci: "0000:00:0c.0" + cidr: '152.16.50.10/24' + gateway_ip: '152.16.100.20' + + downlink: + - + port_num: 1 + phy_port: "0000:05:00.1" + vpci: "0000:00:0b.0" + cidr: '152.16.40.10/24' + gateway_ip: '152.16.100.20' + + - + port_num: 3 + phy_port: "0000:05:00.3" + vpci: "0000:00:0d.0" + cidr: '152.16.30.10/24' + gateway_ip: '152.16.100.20' + diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_trex_scale_up.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml index bea34955f..e661ef319 100644 --- a/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_trex_scale_up.yaml +++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml @@ -12,35 +12,53 @@ # See the License for the specific language governing permissions and # limitations under the License. {% set framesize = framesize or "{64B: 100}" %} +{% set worker_threads = worker_threads or [1] %} +{% set duration = duration or 30 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set public_ip = public_ip or ["152.16.40.10"] %} +{% set vports = vports or 2 %} --- schema: yardstick:task:0.1 scenarios: -{% for worker_thread in [1, 2 ,3 , 4, 5, 6] %} -- type: NSPerf - traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml - topology: vfw-tg-topology.yaml +{% for worker_thread in worker_threads %} +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: cgnapt-tg-topology-scale-up.yaml nodes: tg__0: trafficgen_0.yardstick vnf__0: vnf_0.yardstick options: + duration: {{ duration }} framesize: uplink: {{ framesize }} downlink: {{ framesize }} flow: - src_ip: [{'tg__0': 'xe0'}] - dst_ip: [{'tg__0': 'xe1'}] + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + public_ip: +{% for port_num in range((vports/2)|int) %} + - {{ public_ip[port_num] }} +{% endfor %} count: 1 traffic_type: 4 rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" vnf__0: - rules: acl_1rule.yaml vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}} nfvi_enable: True runner: type: Iteration - iterations: 10 - interval: 35 + iterations: 1 + interval: 5 {% endfor %} context: type: Node diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml new file mode 100644 index 000000000..13496c12e --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml @@ -0,0 +1,109 @@ +# Copyright (c) 2019 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. +{% set vports = vports or 2 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set framesize = framesize or "{64B: 100}" %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: cgnapt-tg-topology-scale-up.yaml + nodes: + tg__0: trafficgen_0.yardstick + vnf__0: vnf_0.yardstick + options: + framesize: + uplink: {{ framesize }} + downlink: {{ framesize }} + flow: + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + public_ip: +{% for port_num in range((vports/2)|int) %} + - {{ public_ip[port_num] }} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 1 + interval: 5 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/standalone/trex_bm.yaml + - type: StandaloneOvsDpdk + name: yardstick + file: /etc/yardstick/nodes/standalone/pod_ovs.yaml + vm_deploy: True + ovs_properties: + version: + ovs: 2.8.1 + dpdk: 17.05.2 + pmd_threads: 2 + ram: + socket_0: 2048 + socket_1: 2048 + queues: 4 + vpath: "/usr/local" + + flavor: + images: "/var/lib/libvirt/images/yardstick-nsb-image.img" + ram: 16384 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 6 + hw:cpu_threads: 2 + user: "" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '1.1.1.7/24' +{% for port_num in range((vports/2)|int) %} + xe{{ port_num * 2 }}: + - uplink_{{ port_num }} + xe{{ (port_num * 2) + 1 }}: + - downlink_{{ port_num }} +{% endfor %} + networks: +{% for port_num in range((vports/2)|int) %} + uplink_{{ port_num }}: + port_num: {{ networks.uplink[port_num].port_num }} + phy_port: "{{ networks.uplink[port_num].phy_port }}" + vpci: "{{ networks.uplink[port_num].vpci }}" + cidr: "{{ networks.uplink[port_num].cidr }}" + gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}" + downlink_{{ port_num }}: + port_num: {{ networks.downlink[port_num].port_num }} + phy_port: "{{ networks.downlink[port_num].phy_port }}" + vpci: "{{ networks.downlink[port_num].vpci }}" + cidr: "{{ networks.downlink[port_num].cidr }}" + gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}" +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml new file mode 100644 index 000000000..34f42c971 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml @@ -0,0 +1,98 @@ +# Copyright (c) 2019 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. +{% set vports = vports or 2 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set framesize = framesize or "{64B: 100}" %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: cgnapt-tg-topology-scale-up.yaml + nodes: + tg__0: trafficgen_0.yardstick + vnf__0: vnf_0.yardstick + options: + framesize: + uplink: {{ framesize }} + downlink: {{ framesize }} + flow: + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + public_ip: +{% for port_num in range((vports/2)|int) %} + - {{ public_ip[port_num] }} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 1 + interval: 5 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/standalone/trex_bm.yaml + - type: StandaloneSriov + file: /etc/yardstick/nodes/standalone/host_sriov.yaml + name: yardstick + vm_deploy: True + flavor: + images: "/var/lib/libvirt/images/yardstick-nsb-image.img" + ram: 16384 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 7 + hw:cpu_threads: 2 + user: "" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '1.1.1.7/24' +{% for port_num in range((vports/2)|int) %} + xe{{ port_num * 2 }}: + - uplink_{{ port_num }} + xe{{ (port_num * 2) + 1 }}: + - downlink_{{ port_num }} +{% endfor %} + networks: +{% for port_num in range((vports/2)|int) %} + uplink_{{ port_num }}: + port_num: {{ networks.uplink[port_num].port_num }} + phy_port: "{{ networks.uplink[port_num].phy_port }}" + vpci: "{{ networks.uplink[port_num].vpci }}" + cidr: "{{ networks.uplink[port_num].cidr }}" + gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}" + downlink_{{ port_num }}: + port_num: {{ networks.downlink[port_num].port_num }} + phy_port: "{{ networks.downlink[port_num].phy_port }}" + vpci: "{{ networks.downlink[port_num].vpci }}" + cidr: "{{ networks.downlink[port_num].cidr }}" + gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}" +{% endfor %} diff --git a/samples/vnf_samples/nsut/vfw/standalone-args.yaml b/samples/vnf_samples/nsut/vfw/standalone-args.yaml new file mode 100644 index 000000000..6f9cde7d9 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/standalone-args.yaml @@ -0,0 +1,45 @@ +# Copyright (c) 2019 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. + +--- +networks: + uplink: + - + port_num: 0 + phy_port: "0000:05:00.0" + vpci: "0000:00:0a.0" + cidr: '152.16.100.10/24' + gateway_ip: '152.16.100.20' + - + port_num: 2 + phy_port: "0000:05:00.2" + vpci: "0000:00:0c.0" + cidr: '152.16.50.10/24' + gateway_ip: '152.16.100.20' + + downlink: + - + port_num: 1 + phy_port: "0000:05:00.1" + vpci: "0000:00:0b.0" + cidr: '152.16.40.10/24' + gateway_ip: '152.16.100.20' + + - + port_num: 3 + phy_port: "0000:05:00.3" + vpci: "0000:00:0d.0" + cidr: '152.16.30.10/24' + gateway_ip: '152.16.100.20' + diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_trex_scale_up.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml index 13eac2892..95ad7700b 100644 --- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_trex_scale_up.yaml +++ b/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_trex_scale_up.yaml @@ -12,35 +12,48 @@ # See the License for the specific language governing permissions and # limitations under the License. {% set framesize = framesize or "{64B: 100}" %} +{% set worker_threads = worker_threads or [1] %} +{% set duration = duration or 30 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set vports = vports or 2 %} --- schema: yardstick:task:0.1 scenarios: -{% for worker_thread in [1, 2 ,3 , 4, 5, 6] %} -- type: NSPerf - traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml - topology: cgnapt-vnf-topology.yaml +{% for worker_thread in worker_threads %} +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: vfw-tg-topology-scale-up.yaml nodes: tg__0: trafficgen_0.yardstick vnf__0: vnf_0.yardstick options: + duration: {{ duration }} framesize: uplink: {{ framesize }} downlink: {{ framesize }} flow: - src_ip: [{'tg__0': 'xe0'}] - dst_ip: [{'tg__0': 'xe1'}] - public_ip: ["152.16.40.10"] + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} count: 1 traffic_type: 4 rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" vnf__0: vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}} nfvi_enable: True runner: type: Iteration - iterations: 10 - interval: 35 + iterations: 1 + interval: 5 {% endfor %} context: type: Node diff --git a/samples/vnf_samples/nsut/vfw/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml b/samples/vnf_samples/nsut/vfw/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml new file mode 100644 index 000000000..b42770491 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_ovs_rfc2544_ipv4_trex_scale_up.yaml @@ -0,0 +1,105 @@ +# Copyright (c) 2019 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. +{% set vports = vports or 2 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set framesize = framesize or "{64B: 100}" %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: vfw-tg-topology-scale-up.yaml + nodes: + tg__0: trafficgen_0.yardstick + vnf__0: vnf_0.yardstick + options: + framesize: + uplink: {{ framesize }} + downlink: {{ framesize }} + flow: + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 1 + interval: 5 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/standalone/trex_bm.yaml + - type: StandaloneOvsDpdk + name: yardstick + file: /etc/yardstick/nodes/standalone/pod_ovs.yaml + vm_deploy: True + ovs_properties: + version: + ovs: 2.8.1 + dpdk: 17.05.2 + pmd_threads: 2 + ram: + socket_0: 2048 + socket_1: 2048 + queues: 4 + vpath: "/usr/local" + + flavor: + images: "/var/lib/libvirt/images/yardstick-nsb-image.img" + ram: 16384 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 6 + hw:cpu_threads: 2 + user: "" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '1.1.1.7/24' +{% for port_num in range((vports/2)|int) %} + xe{{ port_num * 2 }}: + - uplink_{{ port_num }} + xe{{ (port_num * 2) + 1 }}: + - downlink_{{ port_num }} +{% endfor %} + networks: +{% for port_num in range((vports/2)|int) %} + uplink_{{ port_num }}: + port_num: {{ networks.uplink[port_num].port_num }} + phy_port: "{{ networks.uplink[port_num].phy_port }}" + vpci: "{{ networks.uplink[port_num].vpci }}" + cidr: "{{ networks.uplink[port_num].cidr }}" + gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}" + downlink_{{ port_num }}: + port_num: {{ networks.downlink[port_num].port_num }} + phy_port: "{{ networks.downlink[port_num].phy_port }}" + vpci: "{{ networks.downlink[port_num].vpci }}" + cidr: "{{ networks.downlink[port_num].cidr }}" + gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}" +{% endfor %} diff --git a/samples/vnf_samples/nsut/vfw/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml b/samples/vnf_samples/nsut/vfw/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml new file mode 100644 index 000000000..67c76bff4 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_sriov_rfc2544_ipv4_trex_scale_up.yaml @@ -0,0 +1,94 @@ +# Copyright (c) 2019 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. +{% set vports = vports or 2 %} +{% set tolerance_low = tolerance_low or 0.0001 %} +{% set tolerance_high = tolerance_high or 0.0001 %} +{% set framesize = framesize or "{64B: 100}" %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput-scale-up.yaml + extra_args: + vports: {{ vports }} + topology: vfw-tg-topology-scale-up.yaml + nodes: + tg__0: trafficgen_0.yardstick + vnf__0: vnf_0.yardstick + options: + framesize: + uplink: {{ framesize }} + downlink: {{ framesize }} + flow: + src_ip: +{% for vport in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + dst_ip: +{% for vport in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vport }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}" + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 1 + interval: 5 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/standalone/trex_bm.yaml + - type: StandaloneSriov + file: /etc/yardstick/nodes/standalone/host_sriov.yaml + name: yardstick + vm_deploy: True + flavor: + images: "/var/lib/libvirt/images/yardstick-nsb-image.img" + ram: 16384 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 7 + hw:cpu_threads: 2 + user: "" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '1.1.1.7/24' +{% for port_num in range((vports/2)|int) %} + xe{{ port_num * 2 }}: + - uplink_{{ port_num }} + xe{{ (port_num * 2) + 1 }}: + - downlink_{{ port_num }} +{% endfor %} + networks: +{% for port_num in range((vports/2)|int) %} + uplink_{{ port_num }}: + port_num: {{ networks.uplink[port_num].port_num }} + phy_port: "{{ networks.uplink[port_num].phy_port }}" + vpci: "{{ networks.uplink[port_num].vpci }}" + cidr: "{{ networks.uplink[port_num].cidr }}" + gateway_ip: "{{ networks.uplink[port_num].gateway_ip }}" + downlink_{{ port_num }}: + port_num: {{ networks.downlink[port_num].port_num }} + phy_port: "{{ networks.downlink[port_num].phy_port }}" + vpci: "{{ networks.downlink[port_num].vpci }}" + cidr: "{{ networks.downlink[port_num].cidr }}" + gateway_ip: "{{ networks.downlink[port_num].gateway_ip }}" +{% endfor %} |