From 63d966f9208664eaa8147c8f719d414418425a63 Mon Sep 17 00:00:00 2001 From: Oleksandr Naumets Date: Tue, 13 Nov 2018 12:42:08 +0000 Subject: Extend vBNG PPPoE test cases functionality Extended Ixia traffic generator with functionality to create traffic flows between device groups. JIRA: YARDSTICK-1521 Change-Id: Iaaa822f2f3da876629576d4101be29c9a65296d0 Signed-off-by: Oleksandr Naumets --- .../bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml | 62 ---- ...e_rfc2544_ixia_8ports_1port_congested_IMIX.yaml | 70 ++++ .../nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml | 63 ---- .../tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml | 88 +++++ .../traffic_profiles/ixia_ipv4_latency_vbng-4.yaml | 139 ------- .../ixia_ipv4_latency_vbng_1port_congested-8.yaml | 412 +++++++++++++++++++++ .../ixia_ipv4_latency_vbng_scale_up.yaml | 83 +++++ 7 files changed, 653 insertions(+), 264 deletions(-) delete mode 100644 samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml create mode 100644 samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_8ports_1port_congested_IMIX.yaml delete mode 100644 samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml create mode 100644 samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml delete mode 100644 samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml create mode 100644 samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml create mode 100644 samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml (limited to 'samples') diff --git a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml deleted file mode 100644 index 14aa97a4a..000000000 --- a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (c) 2018 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/ixia_ipv4_latency_vbng-4.yaml" - topology: "../agnostic/agnostic_vnf_topology_ixia_4ports.yaml" - ixia_config: IxiaPppoeClient - nodes: - tg__0: tg_0.yardstick - vnf__0: vnf_0.yardstick - options: - pppoe_client: # access network - sessions_per_port: 4000 - sessions_per_svlan: 1000 - pap_user: 'wfnos' - pap_password: '' - ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}] - s_vlan: 100 # s-vlan applies per device group - c_vlan: 1000 # c-vlan applies per subscriber - ipv4_client: # core network - sessions_per_port: 1 - sessions_per_vlan: 1 - ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}] - gateway_ip: [{'vnf__0': 'xe1'}, {'vnf__0': 'xe3'}] - vlan: 101 - bgp: - bgp_type: external - dut_ip: 10.0.0.3 - as_number: 65000 - framesize: - uplink: {70B: 33, 940B: 33, 1470B: 34} - downlink: {68B: 3, 932B: 1, 1470B: 96} - flow: - src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}] - dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}] - count: 1 - traffic_type: 4 - rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 - runner: - type: Iteration - iterations: 10 - interval: 75 -context: - type: Node - name: yardstick - nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia_4port.yaml diff --git a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_8ports_1port_congested_IMIX.yaml b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_8ports_1port_congested_IMIX.yaml new file mode 100644 index 000000000..2c2010a11 --- /dev/null +++ b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_8ports_1port_congested_IMIX.yaml @@ -0,0 +1,70 @@ +# Copyright (c) 2018 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 sessions_per_port = sessions_per_port or 4000 %} +{% set sessions_per_svlan = sessions_per_svlan or 1000 %} +schema: yardstick:task:0.1 +description: > + vBNG RFC2544 test case with QoS base line with link congestion. + Test case creates PPPoE sessions, runs traffic from two core ports + to one access port causing congestion of that port (traffic from + other access ports are splitting between remaining core ports) + and measures packets drop rate on all ports for each priority flow. +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml" + topology: "../agnostic/agnostic_vnf_topology_ixia_8ports.yaml" + ixia_config: IxiaPppoeClient + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + options: + pppoe_client: # access network + sessions_per_port: {{ sessions_per_port }} + sessions_per_svlan: {{ sessions_per_svlan }} + pap_user: 'wfnos' + pap_password: '' + ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}, {'tg__0': 'xe4'}, {'tg__0': 'xe6'}] + s_vlan: 100 # s-vlan applies per device group + c_vlan: 1000 # c-vlan applies per subscriber + ipv4_client: # core network + sessions_per_port: 1 + sessions_per_vlan: 1 + ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}, {'tg__0': 'xe5'}, {'tg__0': 'xe7'}] + gateway_ip: [{'vnf__0': 'xe1'}, {'vnf__0': 'xe3'}, {'vnf__0': 'xe5'}, {'vnf__0': 'xe7'}] + vlan: 101 + bgp: + bgp_type: external + dut_ip: 10.0.0.3 + as_number: 65000 + framesize: + uplink: {70B: 33, 940B: 33, 1470B: 34} + downlink: {68B: 3, 932B: 1, 1470B: 96} + flow: + src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}, {'tg__0': 'xe4'}, {'tg__0': 'xe6'}] + dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}, {'tg__0': 'xe5'}, {'tg__0': 'xe7'}] + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + runner: + type: Iteration + iterations: 10 + interval: 75 +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod_ixia.yaml diff --git a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml deleted file mode 100644 index 5fbe0c70a..000000000 --- a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) 2018 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/ixia_ipv4_latency_vbng-4.yaml" - topology: "../agnostic/agnostic_vnf_topology_ixia_2ports.yaml" - ixia_config: IxiaPppoeClient - nodes: - tg__0: tg_0.yardstick - vnf__0: vnf_0.yardstick - options: - pppoe_client: # access network - sessions_per_port: 4000 - sessions_per_svlan: 1000 - pap_user: 'wfnos' - pap_password: '' - ip: [{'tg__0': 'xe0'}] - s_vlan: 100 # s-vlan applies per device group - c_vlan: 1000 # c-vlan applies per subscriber - ipv4_client: # core network - sessions_per_port: 1 - sessions_per_vlan: 1 - ip: [{'tg__0': 'xe1'}] - gateway_ip: [{'vnf__0': 'xe1'}] - prefix: '24' - vlan: 101 - bgp: - bgp_type: external - dut_ip: 10.0.0.3 - as_number: 65000 - framesize: - uplink: {64B: 100} - downlink: {64B: 100} - flow: - src_ip: [{'tg__0': 'xe0'}] - dst_ip: [{'tg__0': 'xe1'}] - count: 1 - traffic_type: 4 - rfc2544: - allowed_drop_rate: 0.0001 - 0.0001 - runner: - type: Iteration - iterations: 10 - interval: 75 -context: - type: Node - name: yardstick - nfvi_type: baremetal - file: /etc/yardstick/nodes/pod_ixia.yaml diff --git a/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml new file mode 100644 index 000000000..f0696ab24 --- /dev/null +++ b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml @@ -0,0 +1,88 @@ +# Copyright (c) 2018 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 sessions_per_port = sessions_per_port or 4000 %} +{% set sessions_per_svlan = sessions_per_svlan or 1000 %} +{% set vports = vports or 2 %} +{% set svlans_per_port = sessions_per_port / sessions_per_svlan %} +schema: yardstick:task:0.1 +description: > + vBNG RFC2544 test case with QoS base line without link congestion. + Test case creates PPPoE sessions, runs traffic on maximum throughput + and measures packets drop rate on all ports for each priority flow. +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml" + topology: "../agnostic/agnostic_vnf_topology_ixia_{{ vports }}ports.yaml" + ixia_config: IxiaPppoeClient + extra_args: + svlans_per_port: {{ svlans_per_port|int }} + access_vports_num: {{ vports|int / 2 }} + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + options: + pppoe_client: # access network + sessions_per_port: {{ sessions_per_port }} + sessions_per_svlan: {{ sessions_per_svlan }} + pap_user: 'wfnos' + pap_password: '' + ip: +{% for vnf_num in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + s_vlan: 100 # s-vlan applies per device group + c_vlan: 1000 # c-vlan applies per subscriber + ipv4_client: # core network + sessions_per_port: 1 + sessions_per_vlan: 1 + ip: +{% for vnf_num in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + gateway_ip: +{% for vnf_num in range(1, vports|int, 2) %} + - {'vnf__0': 'xe{{ vnf_num }}'} +{% endfor %} + vlan: 101 + bgp: + bgp_type: external + dut_ip: 10.0.0.3 + as_number: 65000 + framesize: + uplink: {70B: 33, 940B: 33, 1470B: 34} + downlink: {68B: 3, 932B: 1, 1470B: 96} + flow: + src_ip: +{% for vnf_num in range(0, vports|int, 2) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(1, vports|int, 2) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + runner: + type: Iteration + iterations: 10 + interval: 75 +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod_ixia.yaml diff --git a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml deleted file mode 100644 index e65876c30..000000000 --- a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright (c) 2018 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: "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 : IXIARFC2544Profile # defines traffic behavior - constant or look for highest possible throughput - frame_rate : 25% # pc of linerate - duration: {{ duration }} - enable_latency: True - -uplink_0: - ipv4: - id: 1 - outer_l2: - framesize: - 64B: "{{get(imix, 'imix.uplink.64B', '0') }}" - 68B: "{{get(imix, 'imix.uplink.68B', '0') }}" - 70B: "{{get(imix, 'imix.uplink.70B', '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') }}" - 932B: "{{get(imix, 'imix.uplink.932B', '0') }}" - 940B: "{{get(imix, 'imix.uplink.940B', '0') }}" - 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}" - 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}" - 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}" - 1470B: "{{get(imix, 'imix.uplink.1470B', '0') }}" - 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}" - 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}" - - outer_l3v4: - priority: - tos: - # Precedence values: - # 0 - (000) Routine - # 1 - (001) Priority - # 2 - (010) Immediate - # 3 - (011) Flash - # 4 - (100) Flash Override - # 5 - (101) CRITIC/ECP - # 6 - (110) Internetwork Control - # 7 - (111) Network Control - precedence: [0, 4, 7] -downlink_0: - ipv4: - id: 2 - outer_l2: - framesize: - 64B: "{{get(imix, 'imix.downlink.64B', '0') }}" - 68B: "{{get(imix, 'imix.downlink.68B', '0') }}" - 70B: "{{get(imix, 'imix.downlink.70B', '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') }}" - 932B: "{{get(imix, 'imix.downlink.932B', '0') }}" - 940B: "{{get(imix, 'imix.downlink.940B', '0') }}" - 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}" - 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}" - 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}" - 1470B: "{{get(imix, 'imix.downlink.1470B', '0') }}" - 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}" - 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}" - - outer_l3v4: - priority: - tos: - precedence: [0, 4, 7] -uplink_1: - ipv4: - id: 3 - outer_l2: - framesize: - 64B: "{{get(imix, 'imix.uplink.64B', '0') }}" - 68B: "{{get(imix, 'imix.uplink.68B', '0') }}" - 70B: "{{get(imix, 'imix.uplink.70B', '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') }}" - 932B: "{{get(imix, 'imix.uplink.932B', '0') }}" - 940B: "{{get(imix, 'imix.uplink.940B', '0') }}" - 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}" - 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}" - 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}" - 1470B: "{{get(imix, 'imix.uplink.1470B', '0') }}" - 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}" - 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}" - - outer_l3v4: - priority: - tos: - precedence: [0, 4, 7] -downlink_1: - ipv4: - id: 4 - outer_l2: - framesize: - 64B: "{{get(imix, 'imix.downlink.64B', '0') }}" - 68B: "{{get(imix, 'imix.downlink.68B', '0') }}" - 70B: "{{get(imix, 'imix.downlink.70B', '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') }}" - 932B: "{{get(imix, 'imix.downlink.932B', '0') }}" - 940B: "{{get(imix, 'imix.downlink.940B', '0') }}" - 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}" - 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}" - 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}" - 1470B: "{{get(imix, 'imix.downlink.1470B', '0') }}" - 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}" - 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}" - - outer_l3v4: - priority: - tos: - precedence: [0, 4, 7] diff --git a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml new file mode 100644 index 000000000..a3170048a --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml @@ -0,0 +1,412 @@ +# Copyright (c) 2018 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: "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 : IXIARFC2544PppoeScenarioProfile # defines traffic behavior - constant or look for highest possible throughput + frame_rate : 12.5% # pc of linerate + duration: {{ duration }} + enable_latency: True + +uplink_0: + ipv4: + id: 1 + port: xe0 + outer_l2: + framesize: &uplink_framesize + 64B: "{{get(imix, 'imix.uplink.64B', '0') }}" + 68B: "{{get(imix, 'imix.uplink.68B', '0') }}" + 70B: "{{get(imix, 'imix.uplink.70B', '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') }}" + 932B: "{{get(imix, 'imix.uplink.932B', '0') }}" + 940B: "{{get(imix, 'imix.uplink.940B', '0') }}" + 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}" + 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}" + 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}" + 1470B: "{{get(imix, 'imix.uplink.1470B', '0') }}" + 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}" + 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}" + + outer_l3v4: + priority: + tos: + precedence: &uplink_precedence [0, 4, 7] +downlink_0: + ipv4: + id: 2 + port: xe1 + outer_l2: + framesize: &downlink_framesize + 64B: "{{get(imix, 'imix.downlink.64B', '0') }}" + 68B: "{{get(imix, 'imix.downlink.68B', '0') }}" + 70B: "{{get(imix, 'imix.downlink.70B', '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') }}" + 932B: "{{get(imix, 'imix.downlink.932B', '0') }}" + 940B: "{{get(imix, 'imix.downlink.940B', '0') }}" + 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}" + 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}" + 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}" + 1470B: "{{get(imix, 'imix.downlink.1470B', '0') }}" + 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}" + 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}" + + outer_l3v4: + priority: + tos: + precedence: &downlink_precedence [0, 4, 7] +uplink_1: + ipv4: + id: 3 + port: xe0 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_1: + ipv4: + id: 4 + port: xe1 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_2: + ipv4: + id: 5 + port: xe0 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_2: + ipv4: + id: 6 + port: xe3 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_3: + ipv4: + id: 7 + port: xe0 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_3: + ipv4: + id: 8 + port: xe3 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_4: + ipv4: + id: 9 + port: xe2 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_4: + ipv4: + id: 10 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_5: + ipv4: + id: 11 + port: xe2 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_5: + ipv4: + id: 12 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_6: + ipv4: + id: 13 + port: xe2 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_6: + ipv4: + id: 14 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_7: + ipv4: + id: 15 + port: xe2 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_7: + ipv4: + id: 16 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_8: + ipv4: + id: 17 + port: xe4 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_8: + ipv4: + id: 18 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_9: + ipv4: + id: 19 + port: xe4 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_9: + ipv4: + id: 20 + port: xe5 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_10: + ipv4: + id: 21 + port: xe4 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_10: + ipv4: + id: 22 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_11: + ipv4: + id: 23 + port: xe4 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_11: + ipv4: + id: 24 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence + +uplink_12: + ipv4: + id: 25 + port: xe6 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_12: + ipv4: + id: 26 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_13: + ipv4: + id: 27 + port: xe6 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_13: + ipv4: + id: 28 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_14: + ipv4: + id: 29 + port: xe6 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_14: + ipv4: + id: 30 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence +uplink_15: + ipv4: + id: 31 + port: xe6 + outer_l2: + framesize: *uplink_framesize + + outer_l3v4: + priority: + tos: + precedence: *uplink_precedence +downlink_15: + ipv4: + id: 32 + port: xe7 + outer_l2: + framesize: *downlink_framesize + + outer_l3v4: + priority: + tos: + precedence: *downlink_precedence diff --git a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml new file mode 100644 index 000000000..4f427b76a --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml @@ -0,0 +1,83 @@ +# Copyright (c) 2018 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 svlan_per_port = get(extra_args, 'svlans_per_port') %} +{% set ports = get(extra_args, 'access_vports_num')|int %} +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 : IXIARFC2544PppoeScenarioProfile # defines traffic behavior - constant or look for highest possible throughput + frame_rate : 12.5% # pc of linerate + duration: {{ duration }} + enable_latency: True + +{% for i in range(svlan_per_port|int * ports|int) %} +uplink_{{ i }}: + ipv4: + id: {{ (i * 2) + 1 }} + outer_l2: + framesize: + 64B: "{{get(imix, 'imix.uplink.64B', '0') }}" + 68B: "{{get(imix, 'imix.uplink.68B', '0') }}" + 70B: "{{get(imix, 'imix.uplink.70B', '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') }}" + 932B: "{{get(imix, 'imix.uplink.932B', '0') }}" + 940B: "{{get(imix, 'imix.uplink.940B', '0') }}" + 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}" + 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}" + 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}" + 1470B: "{{get(imix, 'imix.uplink.1470B', '0') }}" + 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}" + 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}" + + outer_l3v4: + priority: + tos: + precedence: [0, 4, 7] +downlink_{{ i }}: + ipv4: + id: {{ (i * 2) + 2 }} + outer_l2: + framesize: + 64B: "{{get(imix, 'imix.downlink.64B', '0') }}" + 68B: "{{get(imix, 'imix.downlink.68B', '0') }}" + 70B: "{{get(imix, 'imix.downlink.70B', '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') }}" + 932B: "{{get(imix, 'imix.downlink.932B', '0') }}" + 940B: "{{get(imix, 'imix.downlink.940B', '0') }}" + 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}" + 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}" + 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}" + 1470B: "{{get(imix, 'imix.downlink.1470B', '0') }}" + 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}" + 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}" + + outer_l3v4: + priority: + tos: + precedence: [0, 4, 7] +{% endfor %} -- cgit 1.2.3-korg