aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples
diff options
context:
space:
mode:
authorSerhiy Pshyk <serhiyx.pshyk@intel.com>2018-10-05 17:50:38 +0100
committerOleksandr Naumets <oleksandrx.naumets@intel.com>2018-12-07 08:25:28 +0000
commit0f087977e39bee0a24f06c16e1b69b7400eb2f0f (patch)
treeb263a3024c1b7833fe011482e4cc0b1b29ca4010 /samples/vnf_samples
parenta8a59b333db0b2aa1e3a9f3ee8002096fb92b3f1 (diff)
Add vBNG PPPoE test cases functionality
Added vBNG PPPoE test cases functionality which allows to: - create and configure access network connections (PPPoE subscribers); - create and configure core network connections; - configure and run traffic between access and core network topologies. JIRA: YARDSTICK-1508 Change-Id: I90975505fe7318227a837d97e8db4a06712de7eb Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com> Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
Diffstat (limited to 'samples/vnf_samples')
-rw-r--r--samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml62
-rw-r--r--samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml63
-rw-r--r--samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml2
-rw-r--r--samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml139
4 files changed, 265 insertions, 1 deletions
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
new file mode 100644
index 000000000..14aa97a4a
--- /dev/null
+++ b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_4port_IMIX.yaml
@@ -0,0 +1,62 @@
+# 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_IMIX.yaml b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml
new file mode 100644
index 000000000..5fbe0c70a
--- /dev/null
+++ b/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX.yaml
@@ -0,0 +1,63 @@
+# 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/traffic_profiles/ixia_ipv4_latency.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml
index f71c08861..275509aa0 100644
--- a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml
+++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml
@@ -19,7 +19,7 @@
# 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: "isb:traffic_profile:0.1"
+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
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
new file mode 100644
index 000000000..e65876c30
--- /dev/null
+++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vbng-4.yaml
@@ -0,0 +1,139 @@
+# 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]