diff options
author | Volodymyr Mytnyk <volodymyrx.mytnyk@intel.com> | 2019-02-13 09:38:09 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2019-02-13 09:38:09 +0000 |
commit | b713e9e849f73ea323f7ae5dc4c7817823390f21 (patch) | |
tree | 887287db7eb7112cf3aae26a49696cfda93c0252 /samples/vnf_samples | |
parent | ec8bf118c4b9e1b31392530a82022d7c5210cd5a (diff) | |
parent | 5101260bef2fe529fb18c9f236d77a334ec96c74 (diff) |
Merge "Added RFC2544 Trex template"
Diffstat (limited to 'samples/vnf_samples')
-rw-r--r-- | samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_tmpl.yaml (renamed from samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_2ports.yaml) | 25 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml | 4 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml | 2 | ||||
-rw-r--r-- | samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex_tmpl.yaml | 62 | ||||
-rw-r--r-- | samples/vnf_samples/traffic_profiles/ipv4_throughput-tmpl.yaml | 79 |
5 files changed, 158 insertions, 14 deletions
diff --git a/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_2ports.yaml b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_tmpl.yaml index 173880f08..8af938ba1 100644 --- a/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_2ports.yaml +++ b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_tmpl.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Intel Corporation +# 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. @@ -11,6 +11,8 @@ # 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: agnostic-topology @@ -26,24 +28,25 @@ nsd:nsd-catalog: VNF model: ../../vnf_descriptors/agnostic_vnf.yaml #VNF type vld: - - id: uplink_0 - name: tg__0 to vnf__0 link 1 +{% 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: xe0 + vnfd-connection-point-ref: xe{{vport}} vnfd-id-ref: tg__0 - member-vnf-index-ref: '2' - vnfd-connection-point-ref: xe0 + vnfd-connection-point-ref: xe{{vport}} vnfd-id-ref: vnf__0 - - - id: downlink_0 - name: vnf__0 to tg__0 link 2 + - 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: xe1 + vnfd-connection-point-ref: xe{{vport+1}} vnfd-id-ref: vnf__0 - member-vnf-index-ref: '1' - vnfd-connection-point-ref: xe1 - vnfd-id-ref: tg__0
\ No newline at end of file + vnfd-connection-point-ref: xe{{vport+1}} + vnfd-id-ref: tg__0 +{% endfor %}
\ No newline at end of file diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml index 53935dec2..db8f95cb2 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Intel Corporation +# 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. @@ -17,7 +17,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml - topology: agnostic_vnf_topology_trex_2ports.yaml + topology: agnostic_vnf_topology_trex_tmpl.yaml nodes: tg__0: tg_0.yardstick vnf__0: vnf_0.yardstick diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml index 44c7f6da0..158de8115 100644 --- a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex.yaml @@ -18,7 +18,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf-RFC2544 traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml - topology: agnostic_vnf_topology_trex_2ports.yaml + topology: agnostic_vnf_topology_trex_tmpl.yaml nodes: tg__0: trafficgen_0.yardstick vnf__0: vnf_0.yardstick diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex_tmpl.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex_tmpl.yaml new file mode 100644 index 000000000..79c3b906a --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_trex_tmpl.yaml @@ -0,0 +1,62 @@ +# 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 framesize = framesize or "{64B: 100}" %} +{% set vports = vports or 2 %} +{% set rate = rate or 100 %} +{% set drop_rate = drop_rate or "0.0001 - 0.0001" %} +{% set iterations = iterations or 1 %} +{% set queues_per_port = queues_per_port or 1 %} +{% set pod_file = pod_file or "/etc/yardstick/nodes/pod_trex.yaml" %} +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf-RFC2544 + traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml + topology: agnostic_vnf_topology_trex_tmpl.yaml + extra_args: + vports: {{vports}} + rate: {{rate}} + 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,2|int) %} + {'tg__0': 'xe{{vport}}'}, +{% endfor %} ] + dst_ip: [ +{% for vport in range(1,vports,2|int) %} + {'tg__0': 'xe{{vport}}'}, +{% endfor %} ] + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: {{drop_rate}} + queues_per_port: {{queues_per_port}} + vnf__0: + [] + runner: + type: Iteration + iterations: {{iterations}} + interval: 5 +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: {{pod_file}} diff --git a/samples/vnf_samples/traffic_profiles/ipv4_throughput-tmpl.yaml b/samples/vnf_samples/traffic_profiles/ipv4_throughput-tmpl.yaml new file mode 100644 index 000000000..066efcac6 --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/ipv4_throughput-tmpl.yaml @@ -0,0 +1,79 @@ +# 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) %} +{% set rate = get(extra_args, 'rate', 100) %} +--- +schema: "nsb:traffic_profile:0.1" +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: {{ rate }} # pc of linerate + duration: {{ duration }} + + +{% for vport in range(0,(vports/2)|int) %} +uplink_{{vport}}: + ipv4: + id: {{vport * 2 + 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') }}" + 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_{{vport}}', '1.1.1.1-1.1.255.255') }}" + dstip4: "{{ get(flow, 'flow.dst_ip_{{vport}}', '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_{{vport}}', '1234-4321') }}" + dstport: "{{ get(flow, 'flow.dst_port_{{vport}}', '2001-4001') }}" + count: "{{ get(flow, 'flow.count', '1') }}" +downlink_{{vport}}: + ipv4: + id: {{vport * 2 + 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') }}" + 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_{{vport}}', '90.90.1.1-90.90.255.255') }}" + dstip4: "{{ get(flow, 'flow.src_ip_{{vport}}', '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_{{vport}}', '1234-4321') }}" + dstport: "{{ get(flow, 'flow.src_port_{{vport}}', '2001-4001') }}" + count: "{{ get(flow, 'flow.count', '1') }}" +{% endfor %}
\ No newline at end of file |