diff options
Diffstat (limited to 'samples/vnf_samples/nsut')
22 files changed, 1321 insertions, 12 deletions
diff --git a/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixia_2ports.yaml b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixia_2ports.yaml new file mode 100644 index 000000000..007d16f82 --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixia_2ports.yaml @@ -0,0 +1,49 @@ +# 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. +nsd:nsd-catalog: + nsd: + - id: agnostic-topology + name: agnostic-topology + short-name: agnostic-topology + description: agnostic-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/agnostic_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/agnostic/agnostic_vnf_topology_ixia_4ports.yaml b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixia_4ports.yaml new file mode 100644 index 000000000..1447faff3 --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_ixia_4ports.yaml @@ -0,0 +1,71 @@ +# 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. +nsd:nsd-catalog: + nsd: + - id: agnostic-topology + name: agnostic-topology + short-name: agnostic-topology + description: agnostic-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/agnostic_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/agnostic/agnostic_vnf_topology_trex_2ports.yaml b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_2ports.yaml new file mode 100644 index 000000000..173880f08 --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/agnostic_vnf_topology_trex_2ports.yaml @@ -0,0 +1,49 @@ +# 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. +nsd:nsd-catalog: + nsd: + - id: agnostic-topology + name: agnostic-topology + short-name: agnostic-topology + description: agnostic-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/agnostic_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
\ 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 new file mode 100644 index 000000000..53935dec2 --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml @@ -0,0 +1,45 @@ +# 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/ipv4_throughput.yaml + topology: agnostic_vnf_topology_trex_2ports.yaml + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + options: + 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 + vnf__0: + [] + 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/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml new file mode 100644 index 000000000..c054a985b --- /dev/null +++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml @@ -0,0 +1,45 @@ +# 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.yaml + topology: agnostic_vnf_topology_ixia_2ports.yaml + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + options: + 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 + vnf__0: + [] + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod_ixia.yaml diff --git a/samples/vnf_samples/nsut/prox/configs/gen_acl-2.cfg b/samples/vnf_samples/nsut/prox/configs/gen_acl-2.cfg index 816bb3297..bf49cd484 100644 --- a/samples/vnf_samples/nsut/prox/configs/gen_acl-2.cfg +++ b/samples/vnf_samples/nsut/prox/configs/gen_acl-2.cfg @@ -38,7 +38,7 @@ $qinq_tag_inline="88 a8" [global] start time=5 -name=Basic Gen +name=Basic ACL Gen x2 [core 0] mode=master @@ -50,7 +50,7 @@ mode=gen tx port=p0 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -72,7 +72,6 @@ random=000000000000XXX00000000XXXXXXXXX rand_offset=42 lat pos=50 - [core 2] name=p1 task=0 @@ -80,7 +79,7 @@ mode=gen tx port=p1 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -107,10 +106,12 @@ name=rec 0 task=0 mode=lat rx port=p0 +lat pos=50 [core 4] name=rec 1 task=0 mode=lat rx port=p1 +lat pos=50 diff --git a/samples/vnf_samples/nsut/prox/configs/gen_acl-4.cfg b/samples/vnf_samples/nsut/prox/configs/gen_acl-4.cfg index bcfdb5028..6c5939356 100644 --- a/samples/vnf_samples/nsut/prox/configs/gen_acl-4.cfg +++ b/samples/vnf_samples/nsut/prox/configs/gen_acl-4.cfg @@ -62,7 +62,7 @@ mode=gen tx port=p0 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -82,6 +82,7 @@ rand_offset=23 ; dport: [0..511] random=000000000000XXX00000000XXXXXXXXX rand_offset=42 +lat pos=50 [core 2] name=p1 @@ -90,7 +91,7 @@ mode=gen tx port=p1 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -110,6 +111,7 @@ rand_offset=23 ; dport: [0..511] random=000000000000XXX00000000XXXXXXXXX rand_offset=42 +lat pos=50 [core 3] name=p2 @@ -118,7 +120,7 @@ mode=gen tx port=p2 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac2} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac2} 70 00 00 00 00 03 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -138,6 +140,7 @@ rand_offset=23 ; dport: [0..511] random=000000000000XXX00000000XXXXXXXXX rand_offset=42 +lat pos=50 [core 4] name=p3 @@ -146,7 +149,7 @@ mode=gen tx port=p3 bps=625000000 ; Ethernet + QinQ + IP + UDP -pkt inline=${sut_mac3} 70 00 00 00 00 04 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21 FFFFFFFF +pkt inline=${sut_mac3} 70 00 00 00 00 04 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 20 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 0c 7c 21 50 51 52 53 ; svlan: [0,1] random=000000000000000X rand_offset=14 @@ -166,27 +169,33 @@ rand_offset=23 ; dport: [0..511] random=000000000000XXX00000000XXXXXXXXX rand_offset=42 +lat pos=50 [core 5] name=rec 0 task=0 mode=lat rx port=p0 +lat pos=50 [core 6] name=rec 1 task=0 mode=lat rx port=p1 +lat pos=50 [core 7] name=rec 2 task=0 mode=lat rx port=p2 +lat pos=50 [core 8] name=rec 3 task=0 mode=lat rx port=p3 +lat pos=50 + diff --git a/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-2.cfg b/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-2.cfg index 80b29f349..35f3646e7 100644 --- a/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-2.cfg +++ b/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-2.cfg @@ -22,12 +22,16 @@ no-output=no ; disable DPDK debug output [port 0] name=if0 mac=hardware +rx desc=2048 +tx desc=2048 [port 1] name=if1 mac=hardware +rx desc=2048 +tx desc=2048 [defaults] -mempool size=4K +mempool size=8K [lua] lpm4 = dofile("ipv4-2port.lua") diff --git a/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-4.cfg b/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-4.cfg index 09adbbe55..bd696c4b0 100644 --- a/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-4.cfg +++ b/samples/vnf_samples/nsut/prox/configs/handle_l3fwd-4.cfg @@ -22,18 +22,26 @@ no-output=no ; disable DPDK debug output [port 0] name=if0 mac=hardware +rx desc=2048 +tx desc=2048 [port 1] name=if1 mac=hardware +rx desc=2048 +tx desc=2048 [port 2] name=if2 mac=hardware +rx desc=2048 +tx desc=2048 [port 3] name=if3 mac=hardware +rx desc=2048 +tx desc=2048 [defaults] -mempool size=4K +mempool size=8K [lua] lpm4 = dofile("ipv4.lua") diff --git a/samples/vnf_samples/nsut/prox/prox-baremetal-2.yaml b/samples/vnf_samples/nsut/prox/prox-baremetal-2.yaml index 1390e4a67..dc1df4e57 100644 --- a/samples/vnf_samples/nsut/prox/prox-baremetal-2.yaml +++ b/samples/vnf_samples/nsut/prox/prox-baremetal-2.yaml @@ -22,7 +22,6 @@ nodes: user: "root" ssh_port: "22" password: "r00t" - key_filename: "" interfaces: xe0: vpci: "0000:05:00.0" @@ -45,7 +44,6 @@ nodes: user: "root" ssh_port: "22" password: "r00t" - key_filename: "" interfaces: xe0: vpci: "0000:05:00.0" diff --git a/samples/vnf_samples/nsut/prox/prox_tg_bm.yaml b/samples/vnf_samples/nsut/prox/prox_tg_bm.yaml new file mode 100644 index 000000000..d08cf0699 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/prox_tg_bm.yaml @@ -0,0 +1,38 @@ +# 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. + +nodes: +- + name: "tg_0" + role: TrafficGen + ip: 192.168.100.101 + user: user + ssh_port: "22" + password: password + interfaces: + xe0: + vpci: "0000:05:00.0" + local_mac: "68:05:ca:30:3d:50" + driver: "i40e" + local_ip: "152.16.100.19" + netmask: "255.255.255.0" + dpdk_port_num: 0 + xe1: + vpci: "0000:05:00.1" + local_mac: "68:05:ca:30:3d:51" + driver: "i40e" + local_ip: "152.16.40.19" + netmask: "255.255.255.0" + dpdk_port_num: 1 + diff --git a/samples/vnf_samples/nsut/prox/tc_prox_ovs-dpdk_l2fwd-2.yaml b/samples/vnf_samples/nsut/prox/tc_prox_ovs-dpdk_l2fwd-2.yaml new file mode 100644 index 000000000..2f5e6ea27 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/tc_prox_ovs-dpdk_l2fwd-2.yaml @@ -0,0 +1,97 @@ +# Copyright (c) 2016-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/prox_binsearch.yaml + topology: prox-tg-topology-2.yaml + + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + + options: + interface_speed_gbps: 10 + + vnf__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/handle_l2fwd-2.cfg" + prox_args: + "-t": "" + + tg__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/gen_l2fwd-2.cfg" + prox_args: + "-e": "" + "-t": "" + + runner: + type: Duration + # we kill after duration, independent of test duration, so set this high + duration: 300 + +contexts: + - name: yardstick + type: Node + file: prox_tg_bm.yaml + - name: yardstick + type: StandaloneOvsDpdk + file: /etc/yardstick/nodes/standalone/host_ovs.yaml + vm_deploy: True + ovs_properties: + version: + ovs: 2.8.0 + 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: 10 + hw:cpu_threads: 2 + user: "root" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '172.20.2.7/24' + xe0: + - uplink_0 + xe1: + - downlink_0 + networks: + uplink_0: + port_num: 0 + phy_port: "0000:af:00.0" + vpci: "0000:00:07.0" + cidr: '152.16.100.10/24' + gateway_ip: '152.16.100.20' + downlink_0: + port_num: 1 + phy_port: "0000:af:00.1" + vpci: "0000:00:08.0" + cidr: '152.16.40.10/24' + gateway_ip: '152.16.100.20' diff --git a/samples/vnf_samples/nsut/prox/tc_prox_sriov_l2fwd-2.yaml b/samples/vnf_samples/nsut/prox/tc_prox_sriov_l2fwd-2.yaml new file mode 100644 index 000000000..97a3d5af3 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/tc_prox_sriov_l2fwd-2.yaml @@ -0,0 +1,85 @@ +# 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/prox_binsearch.yaml + topology: prox-tg-topology-2.yaml + + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + + options: + interface_speed_gbps: 10 + + vnf__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/handle_l2fwd-2.cfg" + prox_args: + "-t": "" + + tg__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/gen_l2fwd-2.cfg" + prox_args: + "-e": "" + "-t": "" + + runner: + type: Duration + # we kill after duration, independent of test duration, so set this high + duration: 300 + +contexts: + - name: yardstick + type: Node + file: prox_tg_bm.yaml + - name: yardstick + type: StandaloneSriov + file: /etc/yardstick/nodes/standalone/host_sriov.yaml + vm_deploy: True + flavor: + images: "/var/lib/libvirt/images/yardstick-nsb-image.img" + ram: 16384 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 2 + user: "" + password: "" + servers: + vnf_0: + network_ports: + mgmt: + cidr: '1.1.1.61/24' + xe0: + - uplink_0 + xe1: + - downlink_0 + networks: + uplink_0: + phy_port: "0000:05:00.0" + vpci: "0000:00:0a.0" + cidr: '152.16.100.10/24' + gateway_ip: '152.16.100.20' + downlink_0: + phy_port: "0000:05:00.1" + vpci: "0000:00:0b.0" + cidr: '152.16.40.10/24' + gateway_ip: '152.16.100.20' diff --git a/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml b/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml new file mode 100644 index 000000000..ccf496bf9 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml @@ -0,0 +1,50 @@ +# 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. + +nsd:nsd-catalog: + nsd: + - id: landslide-tg-topology + name: landslide-tg-topology + short-name: landslide-tg-topology + description: landslide-tg-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #VNF type: Emulated vEPC + + 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/vepc/tc_epc_default_bearer_create_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml new file mode 100644 index 000000000..ee17df138 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml @@ -0,0 +1,58 @@ +# 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 +description: > + UE default bearer creation test case. Measure successful default bearer + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_default_bearer.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + traffic_duration: 70 + dmf: + transactionRate: 5 + packetSize: 512 + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + FireballEn: 'false' + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + FireballEn: 'false' + Sessions: '20000' + + runner: + type: Duration + duration: 200 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml new file mode 100644 index 000000000..76567062a --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml @@ -0,0 +1,57 @@ +# 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 +description: > + UE default bearer creation test case. Measure successful default bearer + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp_tcp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + - transactionRate: 5 + packetSize: 512 + - transactionRate: 5 + packetSize: 1518 + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_network_dedicated_bearer_create_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_network_dedicated_bearer_create_landslide.yaml new file mode 100644 index 000000000..65f58bd0d --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_network_dedicated_bearer_create_landslide.yaml @@ -0,0 +1,164 @@ +# 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 +description: > + NW triggered dedicated bearer creation test case. Measure successful dedicated bearers + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_network_dedicated_bearer.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 5 + packetSize: 512 + burstCount: 1 # Applies only to Basic UDP DMF, DataProtocol==udp + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: 50000 + UeInitBearerEn: 'false' + DedicatedsPerDefaultBearer: 1 # number of dedicated bearers per default + DefaultBearers: 1 # number of default bearers + FireballEn: 'false' # Fireball settings + + # APN settings (number of APNs and APN's names) + Gtp2ApnNumSpecifiedApns_0: '1' + Gtp2ApnSpecified_0: + array: [dummy.an] + class: Array + + - type: PGW_Node # test type from test session profile + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: 50000 + DedicatedsPerDefaultBearer: 1 # number of dedicated bearers per default + DefaultBearers: 1 # number of default bearers + FireballEn: 'false' # Fireball settings + + # APN settings (number of APNs and APN's names) + Gtp2ApnNumSpecifiedApns_0: '1' + Gtp2ApnSpecified_0: + class: Array + array: [dummy.an] + + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: 50000 + UeInitBearerEn: 'false' + DedicatedsPerDefaultBearer: 1 # number of dedicated bearers per default + DefaultBearers: 1 # number of default bearers + PgwNodeEn: 'false' # Emulate PGW Node + FireballEn: 'false' # Fireball settings + + # APN settings (number of APNs and APN's names) + Gtp2ApnNumSpecifiedApns_0: '1' + Gtp2ApnSpecified_0: + class: Array + array: [dummy.an] + + # Creation delay individually for each dedicated bearer + # Array items specifies timeout between default and dedicated bearers creation + # Array items corresponds to specific dedicated bearer + ConnectBearerDelay: + class: Array + array: ['1'] + + - type: PCRF_Node # test type from test session profile + Sessions: 50000 + DisconnectRate: '1000' + + # Starting IP address + StartingMsIpAddr: 1.0.0.1 + + # APN settings (APN's Names) + TyCcSrvApns: + class: Array + array: [dummy.an] + + # Timer column (in seconds) + # Value specifies timeout after which dedicated bearer will be created + # None-zero timeout corresponds to dedicated bearer, zero timeout - to default bearer + TyCcV4SrvRuleInterval_1: '10' # APN1 dedicated bearer + TyCcV4SrvRuleInterval_2: '0' # APN1 default bearer + + # QoS Class ID + # Name Pattern: TyCcV4SrvCrQci_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM> + TyCcV4SrvCrQci_1_1_1: '1' # QCI of dedicated bearer + + # Dedicated bearer Uplink/Downlink Bandwidth settings + # Name Pattern: TyCcV4SrvPrMaxUL_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM> + # Name Pattern: TyCcV4SrvPrGuaranteedUplink_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM> + TyCcV4SrvPrMaxUL_1_1_1: '300' # Uplink Max Bandwidth + TyCcV4SrvPrMaxDL_1_1_1: '300' # Downlink Max Bandwidth + TyCcV4SrvPrGuaranteedUplink_1_1_1: '300' # Uplink Guaranteed Bandwidth + TyCcV4SrvPrGuaranteedDownlink_1_1_1: '300' # Downlink Guaranteed Bandwidth + + # Dedicated bearer ARP Rules + # Name Pattern: TyCcV4SrvPrArpEn_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM> + # Name Pattern: TyCcV4SrvPrArpValue_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM> + TyCcV4SrvPrArpEn_1_1_1: 'true' # Enable ARP Rules + TyCcV4SrvPrArpValue_1_1_1: '1' # ARP Value + TyCcV4SrvPrArpPreemptCapEn_1_1_1: 'true' # Enable Pre-emption Capability + TyCcV4SrvPrArpPreemptVulnEn_1_1_1: 'true' # Enable Pre-emption Vulnerability + + # Packet Filter Description + # Name Pattern: + # TyCcV4SrvCrFilter_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM>_<FILTER_NUM> + # To explicitly specify protocol number with decimal number, use following naming pattern: + # permit in <PROTOCOL_NUMBER> from + TyCcV4SrvCrFilter_1_1_1_1: permit in 17 from + + # Packet Filter Destination IP + # Name Pattern: + # TyCcV4SrvCrFilterDestIp_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM>_<FILTER_NUM> + # Parameter's value specifies filter's destination IP address and remote port range + TyCcV4SrvCrFilterDestIp_1_1_1_1: 0.0.0.0 0-65535 + + # Packet Filter IP Ext + # Name Pattern: + # TyCcV4SrvCrUserIpExt_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM>_<FILTER_NUM> + # Parameter's value specifies filter's local port range + TyCcV4SrvCrUserIpExt_1_1_1_1: 0-65535 + + # Packet Filter Flow Direction + # Name Pattern: + # TyCcV4SrvCrFilterDirection_<RULE_SET_NUM>_<CHAR_RULE_NUM>_<RULE_DEF_NUM>_<FILTER_NUM> + TyCcV4SrvCrFilterDirection_1_1_1_1: '3' # Bi-Directional + + # Diameter Transmission Protocol + TyCcSrvTcpProtocol: '1' # 0 - TCP, 1 - SCTP + + runner: + type: Duration + duration: 600 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide_network_dedicated.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_network_service_request_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_network_service_request_landslide.yaml new file mode 100644 index 000000000..55a96f4e4 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_network_service_request_landslide.yaml @@ -0,0 +1,67 @@ +# 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 +description: > + Downlink Data Notification from Network to UE that are in Idle state. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_network_service_request.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 0.1 + packetSize: 512 + burstCount: 1 # Applies only to Basic UDP DMF, DataProtocol==udp + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + + # Configurations: + # 1. Specify continuous periodical events: UE goes to Idle state -> DL Data Notification + # E.g. Set Gtp2IdleEntryTime = 5 - UE goes to idle state after 5 seconds + # Set transactionRate = 0.1 - Send traffic periodically every 10 seconds + # 2. Set traffic run start delay + # E.g. Set Gtp2IdleEntryTime = 5 - UE goes to idle state after 5 seconds + # Set TrafficStartDelay with value greater that Gtp2IdleEntryTime + Gtp2IdleEntryTime: '5' # Idle Entry Time (s) + + # Downlink Data Notification settings + TrafficStartDelay: 1000 # Data Start Delay (ms) + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_saegw_tput_relocation_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_saegw_tput_relocation_landslide.yaml new file mode 100644 index 000000000..cece2a747 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_saegw_tput_relocation_landslide.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 +description: > + SAEGW throughput with relocation test case + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_saegw_relocation.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 5 + packetSize: 512 + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + # Relocation settings + HandoffType: '0' # 0 - X2, 1 - S1, 2 - TAU/RAU + MobilityTimeMs: '10000' # Mobility Delay Time (ms) + StartType: When All Sessions Started # When All Sessions Started or When Session Started + SessionRetries: 'true' # Enable/disable Session Start Retries + MobilityRate: '120.0' # Mobility Rate + MobilityMode: Single Handoff # Handoff Mode: Single Handoff or Continuous Handoff + MobilityIntervalShape: Fixed # Mobility Rate Interval Distribution + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_ue_dedicated_bearer_create_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_ue_dedicated_bearer_create_landslide.yaml new file mode 100644 index 000000000..81a4149f8 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_ue_dedicated_bearer_create_landslide.yaml @@ -0,0 +1,74 @@ +# 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 +description: > + UE triggered dedicated bearer creation test case. Measure successful dedicated bearers + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_ue_dedicated_bearer.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 5 + packetSize: 512 + burstCount: 1 # Applies only to Basic UDP DMF, DataProtocol==udp + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + UeInitBearerEn: 'true' + DedicatedsPerDefaultBearer: 1 # number of dedicated bearers per default + DefaultBearers: 1 # number of default bearers + + # Fireball settings + FireballEn: 'false' + + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + UeInitBearerEn: 'true' + DedicatedsPerDefaultBearer: '1' # number of dedicated bearers per default + DefaultBearers: '1' # number of default bearers + + # Connection delay individually for each dedicated bearer + ConnectBearerDelay: + class: Array + array: ['5'] + + # Fireball settings + FireballEn: 'false' + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_ue_service_request_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_ue_service_request_landslide.yaml new file mode 100644 index 000000000..eaf4ae99f --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_ue_service_request_landslide.yaml @@ -0,0 +1,228 @@ +# 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 +description: > + UE triggered bearer modification request with new QoS and TFT settings + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_ue_service_request.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 5 + packetSize: 512 + burstCount: 1 # Applies only to Basic UDP DMF, DataProtocol==udp + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + UeInitBearerEn: 'true' + DedicatedsPerDefaultBearer: 1 # number of dedicated bearers per default + DefaultBearers: 1 # number of default bearers + FireballEn: 'false' # Fireball settings + + # Number of TFTs + # Parameter name pattern: TrafficNumTftsForContext<DEDICATED_BEARER_INDEX> + TrafficNumTftsForContext0: '1' + + # TFT Settings + # Parameter name(s) depends on number of dedicated bearers and number of TFTs per bearer. + # Parameter naming pattern: "TrafficTftForContext<DEDICATED_BEARER_INDEX>_<TFT_INDEX>" + # E.g.: + # "TrafficTftForContext0_0" - dedicated bearer 1, 1st TFT + # "TrafficTftForContext0_1" - dedicated bearer 1, 2nd TFT + # "TrafficTftForContext1_0" - dedicated bearer 2, 1st TFT + TrafficTftForContext0_0: + array: + - '255' # Packet Evaluation Precedence + - '6' # Protocol Number + - '' + - '' # Starting Remote Port + - '' # Ending Remote Port + - '' # Remote Address + - '' # Starting Local Port + - '' # Ending Local Port + - '' # Type of Service + - '' # Mask + - '' # Security Parameter Index + - '' # Flow Label + - '' + - '' # Include In Bearer Modification Request + - '3' # Direction: 0 - Pre Rel 7, 1 - Downlink, 2 - Uplink, 3 - Bi-Directional + - '' + - '' + - '' + - '' + class: Array + + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + UeInitBearerEn: 'true' + DedicatedsPerDefaultBearer: '1' # number of dedicated bearers per default + DefaultBearers: '1' # number of default bearers + FireballEn: 'false' # Fireball settings + + # Creation delay individually for each dedicated bearer + # Array items specifies timeout between default and dedicated bearers creation + # Array items corresponds to specific dedicated bearer: + # E.g. 1st item - 1st dedicated bearer, 2nd item - 2nd dedicated bearer, etc. + ConnectBearerDelay: + class: Array + array: ['1'] + + # Data start delay (ms) + TrafficStartDelay: 1000 + + # Number of TFTs + # Parameter name pattern: TrafficNumTftsForContext<DEDICATED_BEARER_INDEX> + TrafficNumTftsForContext0: '1' + + # TFT settings + # Parameter name(s) depends on number of dedicated bearers and number of TFTs per bearer. + # Parameter naming pattern: "TrafficTftForContext<DEDICATED_BEARER_INDEX>_<TFT_INDEX>" + # E.g.: + # "TrafficTftForContext0_0" - dedicated bearer 1, 1st TFT + # "TrafficTftForContext0_1" - dedicated bearer 1, 2nd TFT + # "TrafficTftForContext1_0" - dedicated bearer 2, 1st TFT + TrafficTftForContext0_0: + array: + - '255' # Packet Evaluation Precedence + - '6' # Protocol Number + - '' + - '' # Starting Remote Port + - '' # Ending Remote Port + - '' # Remote Address + - '' # Starting Local Port + - '' # Ending Local Port + - '' # Type of Service + - '' # Mask + - '' # Security Parameter Index + - '' # Flow Label + - '' + - '' # Include In Bearer Modification Request + - '3' # Direction: 0 - Pre Rel 7, 1 - Downlink, 2 - Uplink, 3 - Bi-Directional + - '' + - '' + - '' + - '' + class: Array + + # Bearers modification settings + # Dedicated bearers modification settings and TFT filters + Gtp2BearerModEn: 'true' # Enable/Disable bearer modification + Gtp2BearerModInit: 'UE' # Bearer modification initiator + Gtp2BearerDelayTime: '5' # Delay time (s) + Gtp2IncModQos_2: 'true' # Include QoS IE + Gtp2BearerContinuousMod: 'false' # Continuous modifications + # Operation code in TFT settings: + # Parameter name(s) depends on number of dedicated bearers + # Parameter naming pattern: "TrafficOpCodeForContext<DEDICATED_BEARER_INDEX>_2" + # E.g.: + # TrafficOpCodeForContext0_2 - operation code for 1st dedicated bearer's TFT + # TrafficOpCodeForContext1_2 - operation code for 2st dedicated bearer's TFT + # 1 - create new TFT + # 2 - delete existing TFT + # 3 - add packet filters to existing TFT + # 4 - replace packet filters in existing TFT + # 5 - delete packet filters from existing TFT + TrafficOpCodeForContext0_2: '1' + + # Number of TFTs + # Parameter name pattern: TrafficNumTftsForContext<DEDICATED_BEARER_INDEX>_2 + TrafficNumTftsForContext0_2: '1' + + # TFT settings + # Parameter name(s) depends on number of dedicated bearers and number of TFTs per bearer. + # Parameter naming pattern: "TrafficTftForContext<DEDICATED_BEARER_INDEX>_<TFT_INDEX>_2" + # E.g.: + # "TrafficTftForContext0_0" - dedicated bearer 1, 1st TFT + # "TrafficTftForContext0_1" - dedicated bearer 1, 2nd TFT + # "TrafficTftForContext1_0" - dedicated bearer 2, 1st TFT + TrafficTftForContext0_0_2: + class: Array + array: + - '255' # Packet Evaluation Precedence + - '17' # Protocol Number + - '' + - '2003' # Starting Remote Port + - '2003' # Ending Remote Port + - '' # Remote Address + - '2002' # Starting Local Port + - '2002' # Ending Local Port + - '' # Type of Service + - '' # Mask + - '' # Security Parameter Index + - '' # Flow Label + - '' + - 'true' # Include In Bearer Modification Request + - '3' # Direction: 0 - Pre Rel 7, 1 - Downlink, 2 - Uplink, 3 - Bi-Directional + - '' + - '' + - '' + - '' + + # Modified bearers QoS settings + Gtp2QosDetail_2: Individual # bearers QoS details (Summary, Individual, Per Bearer) + + # Parameter name(s) depends on number of dedicated bearers + # Parameter(s) naming pattern: "Gtp2QosClassId_2_<BEARER_INDEX>" + # E.g.: + # Gtp2QosClassId_2_1 - default bearer class identifier + # Gtp2QosClassId_2_2 - 1st dedicated bearer class identifier + # Gtp2QosClassId_2_3 - 2st dedicated bearer class identifier + # Modified default bearer settings + Gtp2QosClassId_2_1: '1' # Bearer class identifier + Gtp2QosArpValue_2_1: '1' # Bearer ARP priority level + Gtp2QosArpPreemptCapEn_2_1: 'false' # Pre-emption capability + Gtp2QosArpPreemptVulnEn_2_1: 'false' # Pre-emption vulnerability + Gtp2QosMaxUplink_2_1: '1000' # Uplink maximum bit rates (kb/s) + Gtp2QosMaxDownlink_2_1: '1000' # Downlink maximum bit rates (kb/s) + Gtp2QosGuarUplink_2_1: '1000' # Uplink guaranteed bit rates (kb/s) + Gtp2QosGuarDownlink_2_1: '1000' # Downlink guaranteed bit rates (kb/s) + + # Modified dedicated bearer settings + Gtp2QosClassId_2_2: '5' # Bearer class identifier + Gtp2QosArpValue_2_2: '1' # Bearer ARP priority level + Gtp2QosArpPreemptCapEn_2_2: 'false' # Pre-emption capability + Gtp2QosArpPreemptVulnEn_2_2: 'false' # Pre-emption vulnerability + + # Uncomment this settings in case Gtp2QosClassId_2_2 is equal to 1 + # Gtp2QosMaxUplink_2_2: '1000' # Uplink maximum bit rates (kb/s) + # Gtp2QosMaxDownlink_2_2: '1000' # Downlink maximum bit rates (kb/s) + # Gtp2QosGuarUplink_2_2: '1000' # Uplink guaranteed bit rates (kb/s) + # Gtp2QosGuarDownlink_2_2: '1000' # Downlink guaranteed bit rates (kb/s) + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml b/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml new file mode 100644 index 000000000..f54cdaf81 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml @@ -0,0 +1,50 @@ +# 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. + +nsd:nsd-catalog: + nsd: + - id: vEPC + name: vEPC + short-name: vEPC + description: vEPC VNF with Spirent landslide TG + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/vepc_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 |