aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut/cgnapt
diff options
context:
space:
mode:
Diffstat (limited to 'samples/vnf_samples/nsut/cgnapt')
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml54
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml56
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml51
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-scale-out.yaml53
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml51
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-out.yaml53
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml260
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml76
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml122
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml57
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml33
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml20
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml20
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml20
-rw-r--r--samples/vnf_samples/nsut/cgnapt/cgnat.cfg15
-rw-r--r--samples/vnf_samples/nsut/cgnapt/ixia_traffic.cfg51
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml55
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml54
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml57
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml13
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml18
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml19
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml17
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml22
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml17
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml17
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_dynamic_cgnapt_ixia.yaml52
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml18
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml18
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml370
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml130
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml190
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml116
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml107
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_scale_out_template.yaml105
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_scale_out.yaml105
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml93
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_64B_trex.yaml91
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml97
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_scale_out_template.yaml97
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_scale_out.yaml96
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml80
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_64B_trex.yaml78
43 files changed, 2943 insertions, 181 deletions
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml
new file mode 100644
index 000000000..cf64d96ba
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml
@@ -0,0 +1,54 @@
+# Copyright (c) 2016-2017 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: 3-tg_vnf-topology
+ name: 3-tg_vnf-topology
+ short-name: 3-tg_vnf-topology
+ description: 3-tg_vnf-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2 }}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: 2
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: vnf__0
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__{{ vnf_num }} to tg__1 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: 2
+ vnfd-connection-point-ref: xe{{vnf_num * 2 + 1}}
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ vnf_num }}
+ vnfd-id-ref: tg__1
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml
new file mode 100644
index 000000000..352e413ab
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml
@@ -0,0 +1,56 @@
+# Copyright (c) 2016-2017 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: 3-tg_vnf-topology
+ name: 3-tg_vnf-topology
+ short-name: 3-tg_vnf-topology
+ description: 3-tg_vnf-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+{% for vnf_num in range(num_vnfs|int) %}
+ - member-vnf-index: '{{ vnf_num + 2 }}'
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+{% endfor %}
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__{{ vnf_num }} link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num }}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '{{ vnf_num + 2 }}'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__{{ vnf_num }} to tg__1 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '{{ vnf_num + 2}}'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ vnf_num }}
+ vnfd-id-ref: tg__1
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml
new file mode 100644
index 000000000..91d257fd4
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml
@@ -0,0 +1,51 @@
+# Copyright (c) 2016-2017 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: 2tg-topology
+ name: 2tg-topology
+ short-name: 2tg-topology
+ description: 2tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
+ - member-vnf-index: '1'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: vnf__0
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: tg__0
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-scale-out.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-scale-out.yaml
new file mode 100644
index 000000000..b010202a2
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-scale-out.yaml
@@ -0,0 +1,53 @@
+# Copyright (c) 2016-2017 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: 2tg-topology
+ name: 2tg-topology
+ short-name: 2tg-topology
+ description: 2tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
+{% for vnf_num in range(num_vnfs|int) %}
+ - member-vnf-index: '{{ vnf_num + 1 }}'
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+{% endfor %}
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__{{ vnf_num }} link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '{{ vnf_num + 1 }}'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__{{ vnf_num }} to tg__0 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '{{ vnf_num + 1}}'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: tg__0
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml
new file mode 100644
index 000000000..b96cd38d4
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml
@@ -0,0 +1,51 @@
+# Copyright (c) 2016-2017 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: 2tg-topology
+ name: 2tg-topology
+ short-name: 2tg-topology
+ description: 2tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '1'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: vnf__0
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: vnf__0
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: tg__0
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-out.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-out.yaml
new file mode 100644
index 000000000..e4b1baed6
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-scale-out.yaml
@@ -0,0 +1,53 @@
+# Copyright (c) 2016-2017 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: 2tg-topology
+ name: 2tg-topology
+ short-name: 2tg-topology
+ description: 2tg-topology
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+{% for vnf_num in range(num_vnfs|int) %}
+ - member-vnf-index: '{{ vnf_num + 1 }}'
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+{% endfor %}
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__{{ vnf_num }} link {{ (vnf_num * 2) }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num * 2}}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '{{ vnf_num + 1 }}'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__{{ vnf_num }} to tg__0 link {{ (vnf_num * 2) + 1}}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '{{ vnf_num + 1}}'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}}
+ vnfd-id-ref: tg__0
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml
new file mode 100644
index 000000000..3b45d4dad
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml
@@ -0,0 +1,260 @@
+# Copyright (c) 2016 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: 10-vnf-correlated
+ name: 10-vnf-correlated
+ short-name: 10-vnf-correlated
+ description: 10-vnf-correlated
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '3'
+ vnfd-id-ref: vnf__1
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '4'
+ vnfd-id-ref: vnf__2
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '5'
+ vnfd-id-ref: vnf__3
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '6'
+ vnfd-id-ref: vnf__4
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '7'
+ vnfd-id-ref: vnf__5
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '8'
+ vnfd-id-ref: vnf__6
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '9'
+ vnfd-id-ref: vnf__7
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '10'
+ vnfd-id-ref: vnf__8
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '11'
+ vnfd-id-ref: vnf__9
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: "tg__0 to vnf__0 link 0"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ 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__1 link 0"
+ 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: xe0
+ vnfd-id-ref: tg__1
+ - id: uplink_1
+ name: "tg__0 to vnf__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__1
+ - id: downlink_1
+ name: "vnf__1 to tg__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__1
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__1
+ - id: uplink_2
+ name: "tg__0 to vnf__2 link 2"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '4'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__2
+ - id: downlink_2
+ name: "vnf__2 to tg__1 link 2"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '4'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__2
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__1
+ - id: uplink_3
+ name: "tg__0 to vnf__3 link 3"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '5'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__3
+ - id: downlink_3
+ name: "vnf__3 to tg__1 link 3"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '5'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__3
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__1
+ - id: uplink_4
+ name: "tg__0 to vnf__4 link 4"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe4
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '6'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__4
+ - id: downlink_4
+ name: "vnf__4 to tg__1 link 4"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '6'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__4
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe4
+ vnfd-id-ref: tg__1
+ - id: uplink_5
+ name: "tg__0 to vnf__5 link 5"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe5
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '7'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__5
+ - id: downlink_5
+ name: "vnf__5 to tg__1 link 5"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '7'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__5
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe5
+ vnfd-id-ref: tg__1
+ - id: uplink_6
+ name: "tg__0 to vnf__6 link 6"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe6
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '8'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__6
+ - id: downlink_6
+ name: "vnf__6 to tg__1 link 6"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '8'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__6
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe6
+ vnfd-id-ref: tg__1
+ - id: uplink_7
+ name: "tg__0 to vnf__7 link 7"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe7
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '9'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__7
+ - id: downlink_7
+ name: "vnf__7 to tg__1 link 7"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '9'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__7
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe7
+ vnfd-id-ref: tg__1
+ - id: uplink_8
+ name: "tg__0 to vnf__8 link 8"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe8
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '10'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__8
+ - id: downlink_8
+ name: "vnf__8 to tg__1 link 8"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '10'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__8
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe8
+ vnfd-id-ref: tg__1
+ - id: uplink_9
+ name: "tg__0 to vnf__9 link 9"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe9
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '11'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__9
+ - id: downlink_9
+ name: "vnf__9 to tg__1 link 9"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '11'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__9
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe9
+ vnfd-id-ref: tg__1
+
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml
new file mode 100644
index 000000000..a289e9830
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml
@@ -0,0 +1,76 @@
+# Copyright (c) 2016 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: 2-vnf-correlated
+ name: 2-vnf-correlated
+ short-name: 2-vnf-correlated
+ description: 2-vnf-correlated
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '3'
+ vnfd-id-ref: vnf__1
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: "tg__0 to vnf__0 link 0"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ 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__1 link 0"
+ 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: xe0
+ vnfd-id-ref: tg__1
+ - id: uplink_1
+ name: "tg__0 to vnf__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__1
+ - id: downlink_1
+ name: "vnf__1 to tg__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__1
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__1
+
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml
new file mode 100644
index 000000000..bf6431f8d
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml
@@ -0,0 +1,122 @@
+# Copyright (c) 2016 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: 4-vnf-correlated
+ name: 4-vnf-correlated
+ short-name: 4-vnf-correlated
+ description: 4-vnf-correlated
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+ - member-vnf-index: '2'
+ vnfd-id-ref: vnf__0
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '3'
+ vnfd-id-ref: vnf__1
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '4'
+ vnfd-id-ref: vnf__2
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+ - member-vnf-index: '5'
+ vnfd-id-ref: vnf__3
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+
+ vld:
+ - id: uplink_0
+ name: "tg__0 to vnf__0 link 0"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ 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__1 link 0"
+ 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: xe0
+ vnfd-id-ref: tg__1
+ - id: uplink_1
+ name: "tg__0 to vnf__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__1
+ - id: downlink_1
+ name: "vnf__1 to tg__1 link 1"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '3'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__1
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__1
+ - id: uplink_2
+ name: "tg__0 to vnf__2 link 2"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '4'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__2
+ - id: downlink_2
+ name: "vnf__2 to tg__1 link 2"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '4'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__2
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe2
+ vnfd-id-ref: tg__1
+ - id: uplink_3
+ name: "tg__0 to vnf__3 link 3"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '5'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__3
+ - id: downlink_3
+ name: "vnf__3 to tg__1 link 3"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '5'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__3
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe3
+ vnfd-id-ref: tg__1
+
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml
new file mode 100644
index 000000000..6a99e4ea0
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml
@@ -0,0 +1,57 @@
+# Copyright (c) 2016 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: {{ num_vnfs }}-vnf-correlated
+ name: {{ num_vnfs }}-vnf-correlated
+ short-name: {{ num_vnfs }}-vnf-correlated
+ description: {{ num_vnfs }}-vnf-correlated
+ constituent-vnfd:
+ - member-vnf-index: '0'
+ vnfd-id-ref: tg__0
+ VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
+ - member-vnf-index: '1'
+ vnfd-id-ref: tg__1
+ VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
+{% for vnf_num in range(num_vnfs|int) %}
+ - member-vnf-index: '{{ vnf_num + 2 }}'
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
+{% endfor %}
+
+ vld:
+{% for vnf_num in range(num_vnfs|int) %}
+ - id: uplink_{{ vnf_num }}
+ name: "tg__0 to vnf__{{ vnf_num }} link {{ vnf_num }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '0'
+ vnfd-connection-point-ref: xe{{ vnf_num }}
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '{{ vnf_num + 2 }}'
+ vnfd-connection-point-ref: xe0
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - id: downlink_{{ vnf_num }}
+ name: "vnf__{{ vnf_num }} to tg__1 link {{ vnf_num }}"
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '{{ vnf_num + 2}}'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: vnf__{{ vnf_num }}
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe{{ vnf_num }}
+ vnfd-id-ref: tg__1
+{% endfor %}
+
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml
index 24407dc88..e4c0fc9ee 100644
--- a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml
@@ -20,34 +20,43 @@ nsd:nsd-catalog:
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
- member-vnf-index: '3'
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - 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__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
-
- - id: public_1
- name: vnf__1 to tg__2 link 2
+ vnfd-id-ref: vnf__0
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 2
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - id: downlink_0
+ name: vnf__0 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '3'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml
index e668c2eb9..d67f38a4f 100644
--- a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - 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__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - 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__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml
index a13a64fd5..fbc9ab95c 100644
--- a/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
description: scenario with vCGNAPT VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - 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__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - 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__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml
index b4feaf03d..71535dfb7 100644
--- a/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
description: scenario with HTTP and vCGNAPT VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ixload.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - 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__1 # HTTP Client
+ vnfd-id-ref: tg__0 # HTTP Client
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 # VNF
+ vnfd-id-ref: vnf__0 # VNF
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - 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__1 # HTTP Server
+ vnfd-id-ref: vnf__0 # HTTP Server
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 # VCGNAPT VNF
+ vnfd-id-ref: tg__0 # VCGNAPT VNF
diff --git a/samples/vnf_samples/nsut/cgnapt/cgnat.cfg b/samples/vnf_samples/nsut/cgnapt/cgnat.cfg
index 8b16f57f6..27169f8dc 100644
--- a/samples/vnf_samples/nsut/cgnapt/cgnat.cfg
+++ b/samples/vnf_samples/nsut/cgnapt/cgnat.cfg
@@ -21,15 +21,7 @@ core = 1
pktq_in = SWQ4
pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
-; ARP route table entries (ip, mask, if_port, nh) hex values with no 0x
-arp_route_tbl = (c0102814,fffff000,1,c0102814) (c0106414,fffff000,0,c0106414)
-;arp_route_tbl = (c0122814,fffff000,3,c0122814) (c0126414,fffff000,1,c0126414)
-; Link MAC addresses in order aa:bb:cc:dd:ee:ff separated by space
-nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
-;
-; Hex values with no leading 0x, MACs in ascending port order starting @P0
-;ports_mac_list = 00:05:CA:30:21:F0 00:05:CA:30:21:F1 ;00:05:CA:30:21:F2 00:05:CA:30:21:F3
-;
+
; egress (private interface) info
pktq_in_prv = RXQ0.0
;
@@ -39,6 +31,7 @@ prv_to_pub_map = (0,1)
[PIPELINE2]
type = TIMER
core = 2
+timer_dyn_timeout = 1000000
n_flows = 1048576
[PIPELINE3]
type = TXRX
@@ -73,8 +66,8 @@ hash_offset = 200;72
;
timer_period = 100
max_clients_per_ip = 65535
-max_port_per_client = 10
-public_ip_port_range = 98103214:(1, 65535)
+max_port_per_client = 100
+public_ip_port_range = 04040000:(1, 65535)
vnf_set = (3,4,5)
pkt_type = ipv4
cgnapt_meta_offset = 128
diff --git a/samples/vnf_samples/nsut/cgnapt/ixia_traffic.cfg b/samples/vnf_samples/nsut/cgnapt/ixia_traffic.cfg
deleted file mode 100644
index f749865c5..000000000
--- a/samples/vnf_samples/nsut/cgnapt/ixia_traffic.cfg
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "private_1": {
- "id": 1,
- "bidir": "False",
- "duration": 60,
- "iload": "100",
- "outer_l2": {
- "dstmac": "00:00:00:00:00:03",
- "framesPerSecond": true,
- "framesize": 64,
- "srcmac": "00:00:00:00:00:01"
- },
- "outer_l3": {
- "dscp": 0,
- "dstip4": "152.16.40.20",
- "proto": "udp",
- "srcip4": "152.16.100.20",
- "ttl": 32
- },
- "outer_l4": {
- "dstport": "2001",
- "srcport": "1234"
- },
- "traffic_type": "continuous"
- },
- "public_1": {
- "id": 2,
- "bidir": "False",
- "duration": 60,
- "iload": "100",
- "outer_l2": {
- "dstmac": "00:00:00:00:00:04",
- "framesPerSecond": true,
- "framesize": 64,
- "srcmac": "00:00:00:00:00:01"
- },
- "outer_l3": {
- "count": 1024,
- "dscp": 0,
- "dstip4": "152.16.100.20",
- "proto": "udp",
- "srcip4": "152.16.40.20",
- "ttl": 32
- },
- "outer_l4": {
- "dstport": "1234",
- "srcport": "2001"
- },
- "traffic_type": "continuous"
- }
-}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml
new file mode 100644
index 000000000..3a1c1cb12
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml
@@ -0,0 +1,55 @@
+# Copyright (c) 2017 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-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ vnf__0: vnf__0.yardstick
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml
new file mode 100644
index 000000000..81000a7a5
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml
@@ -0,0 +1,54 @@
+# Copyright (c) 2017 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-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-multi-port-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ vnf__0: vnf__0.yardstick
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml
new file mode 100644
index 000000000..879911f62
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml
@@ -0,0 +1,57 @@
+# Copyright (c) 2016-2017 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-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+ vnf__0: vnf__0.yardstick
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+ ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs }}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: Node
+ file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml
+ name: yardstick
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
index fc1c3e9b8..6bfca0d7a 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
@@ -19,17 +19,20 @@ scenarios:
traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
topology: cgnapt_vnf_topology_ixload.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ public_ip: ["152.16.40.10"]
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ nfvi_enable: True
runner:
type: Duration
duration: 5
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml
index 6160ca090..a56321396 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml
@@ -19,21 +19,21 @@ scenarios:
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: cgnapt_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
- publicip: ["152.16.40.10"]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
@@ -44,4 +44,4 @@ context:
type: Node
name: yardstick
nfvi_type: baremetal
- file: /etc/yardstick/nodes/pod.yaml
+ file: /etc/yardstick/nodes/pod_ixia.yaml
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml
index d1b0fab2a..71f6d1dc8 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml
@@ -17,25 +17,26 @@ schema: yardstick:task:0.1
scenarios:
{% for worker_thread in [1, 2 ,3] %}
- type: NSPerf
- traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
+ traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_cgnapt.yaml"
topology: cgnapt_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
- publicip: ["152.16.40.10"]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
count: 1000
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
+ nfvi_enable: True
runner:
type: Iteration
iterations: 10
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
index 15365b01a..042c4ddee 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
@@ -19,22 +19,23 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
- publicip: ["152.16.40.10"]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ nfvi_enable: True
runner:
type: Iteration
iterations: 10
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml
index c1f5f2162..1461c9601 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml
@@ -19,27 +19,29 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__2': 'xe0'}
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
+ public_ip: ['152.16.40.10']
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- corelated_traffic: true
- vnf__1:
+ correlated_traffic: true
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
napt: 'dynamic'
+ nfvi_enable: True
runner:
type: Iteration
- iterations: 10
+ iterations: 14
interval: 35
context:
type: Node
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml
index 1bf7df875..3c5d12abb 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml
@@ -20,22 +20,23 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
- publicip: ["152.16.40.10"]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
+ nfvi_enable: True
runner:
type: Iteration
iterations: 10
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml
index e8cac4af9..91a703877 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml
@@ -19,23 +19,24 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
- publicip: ["152.16.40.10"]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
latency: true
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ nfvi_enable: True
runner:
type: Iteration
iterations: 28
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_dynamic_cgnapt_ixia.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_dynamic_cgnapt_ixia.yaml
new file mode 100644
index 000000000..c51729790
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_dynamic_cgnapt_ixia.yaml
@@ -0,0 +1,52 @@
+# Copyright (c) 2016 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: cgnapt-vnf-topology-ixia-3node.yaml
+ nodes:
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ correlated_traffic: true
+ latency: true
+ fec_port_mode: '10G'
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ nfvi_enable: True
+ runner:
+ type: Iteration
+ iterations: 28
+ interval: 35
+ ixia_profile: ../../traffic_profiles/cgnapt/cgnat_ipv4_profile_1flows_3node_latency.ixncfg
+context:
+ type: Node
+ name: yardstick
+ nfvi_type: baremetal
+ file: /etc/yardstick/nodes/pod_ixia_3node.yaml
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml
index 0ad7898a1..ba5180a82 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml
@@ -19,20 +19,20 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.baremetal
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
@@ -48,7 +48,7 @@ contexts:
flavor:
vcpus: 10
ram: 20480
- disk: 4
+ disk: 6
extra_specs:
hw:cpu_sockets: 1
hw:cpu_cores: 10
@@ -66,14 +66,12 @@ contexts:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public_1
gateway_ip: 'null'
provider: true
physical_network: phystenant1
port_security_enabled: False
xe1:
cidr: '10.0.3.0/24'
- vld_id: private_1
gateway_ip: 'null'
provider: true
physical_network: phystenant2
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml
index 516c727de..b38d4be6c 100644
--- a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml
@@ -19,20 +19,20 @@ scenarios:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
- private: {64B: 100}
- public: {64B: 100}
+ uplink: {64B: 100}
+ downlink: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
@@ -45,7 +45,7 @@ context:
flavor:
vcpus: 10
ram: 20480
- disk: 4
+ disk: 6
extra_specs:
hw:cpu_sockets: 1
hw:cpu_cores: 10
@@ -66,7 +66,6 @@ context:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public_1
gateway_ip: 'null'
# port_security_enabled: False
allowed_address_pairs:
@@ -74,7 +73,6 @@ context:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private_1
gateway_ip: 'null'
# port_security_enabled: False
allowed_address_pairs:
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml
new file mode 100644
index 000000000..ac0a83b34
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml
@@ -0,0 +1,370 @@
+# Copyright (c) 2016-2017 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_cgnapt-10.yaml
+ topology: cgnapt-vnf-topology-3node-10.yaml
+ nodes:
+ tg__0: tg_0.yardstick
+ tg__1: tg_1.yardstick
+ vnf__0: vnf_0.yardstick
+ vnf__1: vnf_1.yardstick
+ vnf__2: vnf_2.yardstick
+ vnf__3: vnf_3.yardstick
+ vnf__4: vnf_4.yardstick
+ vnf__5: vnf_5.yardstick
+ vnf__6: vnf_6.yardstick
+ vnf__7: vnf_7.yardstick
+ vnf__8: vnf_8.yardstick
+ vnf__9: vnf_9.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - {'tg__0': 'xe0'}
+ - {'tg__0': 'xe1'}
+ - {'tg__0': 'xe2'}
+ - {'tg__0': 'xe3'}
+ - {'tg__0': 'xe4'}
+ - {'tg__0': 'xe5'}
+ - {'tg__0': 'xe6'}
+ - {'tg__0': 'xe7'}
+ - {'tg__0': 'xe8'}
+ - {'tg__0': 'xe9'}
+ dst_ip:
+ - {'tg__1': 'xe0'}
+ - {'tg__1': 'xe1'}
+ - {'tg__1': 'xe2'}
+ - {'tg__1': 'xe3'}
+ - {'tg__1': 'xe4'}
+ - {'tg__1': 'xe5'}
+ - {'tg__1': 'xe6'}
+ - {'tg__1': 'xe7'}
+ - {'tg__1': 'xe8'}
+ - {'tg__1': 'xe9'}
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ correlated_traffic: true
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__1:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__2:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__3:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__4:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__5:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__6:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__7:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__8:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__9:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ name: yardstick
+ image: yardstick-samplevnfs
+ flavor:
+ vcpus: 10
+ ram: 10240
+ disk: 6
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 10
+ hw:cpu_threads: 1
+ user: ubuntu
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ tg_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ uplink_1:
+ - xe1
+ uplink_2:
+ - xe2
+ uplink_3:
+ - xe3
+ uplink_4:
+ - xe4
+ uplink_5:
+ - xe5
+ uplink_6:
+ - xe6
+ uplink_7:
+ - xe7
+ uplink_8:
+ - xe8
+ uplink_9:
+ - xe9
+ tg_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ downlink_0:
+ - xe0
+ downlink_1:
+ - xe1
+ downlink_2:
+ - xe2
+ downlink_3:
+ - xe3
+ downlink_4:
+ - xe4
+ downlink_5:
+ - xe5
+ downlink_6:
+ - xe6
+ downlink_7:
+ - xe7
+ downlink_8:
+ - xe8
+ downlink_9:
+ - xe9
+ vnf_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ downlink_0:
+ - xe1
+ vnf_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_1:
+ - xe0
+ downlink_1:
+ - xe1
+ vnf_2:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_2:
+ - xe0
+ downlink_2:
+ - xe1
+ vnf_3:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_3:
+ - xe0
+ downlink_3:
+ - xe1
+ vnf_4:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_4:
+ - xe0
+ downlink_4:
+ - xe1
+ vnf_5:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_5:
+ - xe0
+ downlink_5:
+ - xe1
+ vnf_6:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_6:
+ - xe0
+ downlink_6:
+ - xe1
+ vnf_7:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_7:
+ - xe0
+ downlink_7:
+ - xe1
+ vnf_8:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_8:
+ - xe0
+ downlink_8:
+ - xe1
+ vnf_9:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_9:
+ - xe0
+ downlink_9:
+ - xe1
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ uplink_0:
+ cidr: '10.1.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_0:
+ cidr: '10.1.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_1:
+ cidr: '10.2.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_1:
+ cidr: '10.2.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_2:
+ cidr: '10.3.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_2:
+ cidr: '10.3.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_3:
+ cidr: '10.4.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_3:
+ cidr: '10.4.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_4:
+ cidr: '10.5.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_4:
+ cidr: '10.5.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_5:
+ cidr: '10.6.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_5:
+ cidr: '10.6.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_6:
+ cidr: '10.7.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_6:
+ cidr: '10.7.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_7:
+ cidr: '10.8.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_7:
+ cidr: '10.8.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_8:
+ cidr: '10.9.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_8:
+ cidr: '10.9.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_9:
+ cidr: '10.10.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_9:
+ cidr: '10.10.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml
new file mode 100644
index 000000000..894fcceef
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml
@@ -0,0 +1,130 @@
+# Copyright (c) 2016-2017 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_cgnapt-2.yaml
+ topology: cgnapt-vnf-topology-3node-2.yaml
+ nodes:
+ tg__0: tg_0.yardstick
+ tg__1: tg_1.yardstick
+ vnf__0: vnf_0.yardstick
+ vnf__1: vnf_1.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - {'tg__0': 'xe0'}
+ - {'tg__0': 'xe1'}
+ dst_ip:
+ - {'tg__1': 'xe0'}
+ - {'tg__1': 'xe1'}
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ correlated_traffic: true
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__1:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ name: yardstick
+ image: yardstick-samplevnfs
+ flavor:
+ vcpus: 10
+ ram: 10240
+ disk: 6
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 10
+ hw:cpu_threads: 1
+ user: ubuntu
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ tg_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ uplink_1:
+ - xe1
+ tg_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ downlink_0:
+ - xe0
+ downlink_1:
+ - xe1
+ vnf_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ downlink_0:
+ - xe1
+ vnf_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_1:
+ - xe0
+ downlink_1:
+ - xe1
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ uplink_0:
+ cidr: '10.1.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_0:
+ cidr: '10.1.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_1:
+ cidr: '10.2.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_1:
+ cidr: '10.2.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml
new file mode 100644
index 000000000..ffdec998e
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml
@@ -0,0 +1,190 @@
+# Copyright (c) 2016-2017 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_cgnapt-4.yaml
+ topology: cgnapt-vnf-topology-3node-4.yaml
+ nodes:
+ tg__0: tg_0.yardstick
+ tg__1: tg_1.yardstick
+ vnf__0: vnf_0.yardstick
+ vnf__1: vnf_1.yardstick
+ vnf__2: vnf_2.yardstick
+ vnf__3: vnf_3.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+ - {'tg__0': 'xe0'}
+ - {'tg__0': 'xe1'}
+ - {'tg__0': 'xe2'}
+ - {'tg__0': 'xe3'}
+ dst_ip:
+ - {'tg__1': 'xe0'}
+ - {'tg__1': 'xe1'}
+ - {'tg__1': 'xe2'}
+ - {'tg__1': 'xe3'}
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ correlated_traffic: true
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__1:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__2:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ vnf__3:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ name: yardstick
+ image: yardstick-samplevnfs
+ flavor:
+ vcpus: 10
+ ram: 10240
+ disk: 6
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 10
+ hw:cpu_threads: 1
+ user: ubuntu
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ tg_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ uplink_1:
+ - xe1
+ uplink_2:
+ - xe2
+ uplink_3:
+ - xe3
+ tg_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ downlink_0:
+ - xe0
+ downlink_1:
+ - xe1
+ downlink_2:
+ - xe2
+ downlink_3:
+ - xe3
+ vnf_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_0:
+ - xe0
+ downlink_0:
+ - xe1
+ vnf_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_1:
+ - xe0
+ downlink_1:
+ - xe1
+ vnf_2:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_2:
+ - xe0
+ downlink_2:
+ - xe1
+ vnf_3:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_3:
+ - xe0
+ downlink_3:
+ - xe1
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+ uplink_0:
+ cidr: '10.1.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_0:
+ cidr: '10.1.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_1:
+ cidr: '10.2.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_1:
+ cidr: '10.2.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_2:
+ cidr: '10.3.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_2:
+ cidr: '10.3.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ uplink_3:
+ cidr: '10.4.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_3:
+ cidr: '10.4.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml
new file mode 100644
index 000000000..5c884f2e0
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml
@@ -0,0 +1,116 @@
+# Copyright (c) 2016-2017 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_cgnapt-{{ num_vnfs }}.yaml
+ topology: cgnapt-vnf-topology-3node-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg_0.yardstick
+ tg__1: tg_1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ correlated_traffic: true
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ napt: 'dynamic'
+{% endfor %}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+context:
+ name: yardstick
+ image: yardstick-samplevnfs
+ flavor:
+ vcpus: 10
+ ram: 10240
+ disk: 6
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 10
+ hw:cpu_threads: 1
+ user: ubuntu
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ tg_0:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ - xe{{ vnf_num }}
+{% endfor %}
+ tg_1:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+{% for vnf_num in range(num_vnfs|int) %}
+ downlink_{{ vnf_num }}:
+ - xe{{ vnf_num }}
+{% endfor %}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ floating_ip: true
+ placement: "pgrp1"
+ network_ports:
+ mgmt:
+ - mgmt
+ uplink_{{ vnf_num }}:
+ - xe0
+ downlink_{{ vnf_num }}:
+ - xe1
+{% endfor %}
+ networks:
+ mgmt:
+ cidr: '10.0.1.0/24'
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ cidr: '10.{{ vnf_num + 1 }}.0.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+ downlink_{{ vnf_num }}:
+ cidr: '10.{{ vnf_num + 1 }}.1.0/24'
+ gateway_ip: 'null'
+ port_security_enabled: False
+ enable_dhcp: 'false'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml
new file mode 100644
index 000000000..e2002abc0
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml
@@ -0,0 +1,107 @@
+# Copyright (c) 2017 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-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+ ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs}}_port.ixncfg
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: StandaloneOvsDpdk
+ name: yardstick
+ file: /etc/yardstick/nodes/ovs_host.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: {{ ovs_properties.ovs }}
+ dpdk: {{ ovs_properties.dpdk }}
+ vpath: "{{ ovs_properties.vpath }}"
+ queues: {{ovs_properties.queues}}
+ pmd_threads: {{ovs_properties.pmd_threads}}
+ ram:
+ socket_0: {{ovs_properties.ram.socket_0}}
+ socket_1: {{ovs_properties.ram.socket_1}}
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ vnf.user }}
+ password: {{ vnf.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (99 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (9 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_scale_out_template.yaml
new file mode 100644
index 000000000..ffd06d5a2
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_scale_out_template.yaml
@@ -0,0 +1,105 @@
+# Copyright (c) 2017 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-cgnapt-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_{{num_vnfs}}.yaml
+ - type: StandaloneOvsDpdk
+ name: yardstick
+ file: /etc/yardstick/nodes/ovs_host.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: {{ ovs_properties.ovs }}
+ dpdk: {{ ovs_properties.dpdk }}
+ vpath: "{{ ovs_properties.vpath }}"
+ queues: {{ovs_properties.queues}}
+ pmd_threads: {{ovs_properties.pmd_threads}}
+ ram:
+ socket_0: {{ovs_properties.ram.socket_0}}
+ socket_1: {{ovs_properties.ram.socket_1}}
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ vnf.user }}
+ password: {{ vnf.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (99 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (9 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_scale_out.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_scale_out.yaml
new file mode 100644
index 000000000..1a2f57ff5
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_scale_out.yaml
@@ -0,0 +1,105 @@
+# Copyright (c) 2017 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-cgnapt-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ - type: StandaloneOvsDpdk
+ name: yardstick
+ file: /etc/yardstick/nodes/ovs_host.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: {{ ovs_properties.ovs }}
+ dpdk: {{ ovs_properties.dpdk }}
+ vpath: "{{ ovs_properties.vpath }}"
+ queues: {{ovs_properties.queues}}
+ pmd_threads: {{ovs_properties.pmd_threads}}
+ ram:
+ socket_0: {{ovs_properties.ram.socket_0}}
+ socket_1: {{ovs_properties.ram.socket_1}}
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ flavor.user }}
+ password: {{ flavor.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (99 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (9 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
new file mode 100644
index 000000000..1d8be5f74
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
@@ -0,0 +1,93 @@
+# Copyright (c) 2016-2017 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_cgnapt.yaml
+ topology: cgnapt_vnf_topology_ixia.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'}]
+ public_ip: ["152.16.40.10"]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ ixia_profile: ../../traffic_profiles/cgnapt/cgnat_ipv4_profile_1flows.ixncfg
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_ixia.yaml
+ - type: StandaloneOvsDpdk
+ name: yardstick
+ file: /etc/yardstick/nodes/standalone/pod_ovs.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: 2.7.0
+ dpdk: 16.11.1
+ pmd_threads: 2
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 2
+ user: ""
+ password: ""
+ servers:
+ vnf__0:
+ network_ports:
+ mgmt:
+ cidr: '1.1.1.7/24'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:07: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:07: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/cgnapt/tc_ovs_rfc2544_ipv4_1rule_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_64B_trex.yaml
new file mode 100644
index 000000000..52becd3c6
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_rfc2544_ipv4_1rule_64B_trex.yaml
@@ -0,0 +1,91 @@
+# Copyright (c) 2016-2017 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_cgnapt.yaml
+ topology: cgnapt-vnf-topology.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'}]
+ public_ip: ["152.40.40.10"]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+ - type: StandaloneOvsDpdk
+ name: yardstick
+ file: /etc/yardstick/nodes/standalone/pod_ovs.yaml
+ vm_deploy: True
+ ovs_properties:
+ version:
+ ovs: 2.7.0
+ dpdk: 16.11.1
+ pmd_threads: 2
+ ram:
+ socket_0: 2048
+ socket_1: 2048
+ queues: 4
+ vpath: "/usr/local"
+
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 2
+ user: ""
+ password: ""
+ servers:
+ vnf__0:
+ network_ports:
+ mgmt:
+ cidr: '1.1.1.7/24'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ port_num: 0
+ phy_port: "0000:05: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:05: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/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml
new file mode 100644
index 000000000..7f6e76cc2
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml
@@ -0,0 +1,97 @@
+# Copyright (c) 2016-2017 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-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ tg__1: tg__1.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ vnf_num }}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__1': 'xe{{ vnf_num }}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+ ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs}}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/sriov_host.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ vnf.user }}
+ password: {{ vnf.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_scale_out_template.yaml
new file mode 100644
index 000000000..a88a05d5a
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_scale_out_template.yaml
@@ -0,0 +1,97 @@
+# Copyright (c) 2016-2017 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-cgnapt-ixia-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+ ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/ixia_{{num_vnfs}}.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/sriov_host.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ vnf.user }}
+ password: {{ vnf.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_scale_out.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_scale_out.yaml
new file mode 100644
index 000000000..cb1f5ebf9
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_scale_out.yaml
@@ -0,0 +1,96 @@
+# Copyright (c) 2016-2017 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-cgnapt-{{ num_vnfs }}.yaml
+ topology: cgnapt-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick
+{% endfor %}
+ options:
+ framesize:
+ uplink: {{ flow.pkt_size.uplink }}
+ downlink: {{ flow.pkt_size.downlink }}
+ flow:
+ src_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2)}}'}
+{% endfor %}
+ dst_ip:
+{% for vnf_num in range(num_vnfs|int) %}
+ - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'}
+{% endfor %}
+ public_ip: ["152.40.40.10"]
+ count: {{ flow.count }}
+ traffic_type: {{ flow.traffic_type }}
+ rfc2544:
+ allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }}
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf__{{ vnf_num }}:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}}
+{% endfor %}
+
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/sriov_host.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: {{ flavor.image }}
+ ram: {{ flavor.ram }}
+ extra_specs:
+ hw:cpu_sockets: {{ flavor.extra_specs.cpu_sockets }}
+ hw:cpu_cores: {{ flavor.extra_specs.cpu_cores }}
+ hw:cpu_threads: {{ flavor.extra_specs.cpu_threads }}
+ user: {{ flavor.user }}
+ password: {{ flavor.password }}
+ servers:
+{% for vnf_num in range(num_vnfs|int) %}
+ vnf_{{ vnf_num }}:
+ network_ports:
+ mgmt:
+ cidr: '{{vnf.ip.mgmt[vnf_num]}}'
+ xe0:
+ - uplink_{{ vnf_num }}
+ xe1:
+ - downlink_{{ vnf_num }}
+{% endfor %}
+ networks:
+{% for vnf_num in range(num_vnfs|int) %}
+ uplink_{{ vnf_num }}:
+ port_num: {{ vnf_num * 2 }}
+ phy_port: "{{vnf.pcis.uplink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.uplink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.uplink[vnf_num]}}'
+ downlink_{{ vnf_num }}:
+ port_num: {{ (vnf_num * 2) + 1}}
+ phy_port: "{{vnf.pcis.downlink[vnf_num]}}"
+ vpci: "0000:00:{{10 + (89 | random)}}.0"
+ cidr: '{{vnf.ip.downlink[vnf_num]}}'
+ gateway_ip: '{{gen.ip.downlink[vnf_num]}}'
+{% endfor %}
diff --git a/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
new file mode 100644
index 000000000..f0d996d51
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
@@ -0,0 +1,80 @@
+# Copyright (c) 2016-2017 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_cgnapt.yaml
+ topology: cgnapt_vnf_topology_ixia.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ vnf__0: vnf.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ rules: acl_1rule.yaml
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ ixia_profile: ../../traffic_profiles/cgnapt/cgnat_ipv4_profile_1flows.ixncfg
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex_ixia.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 2
+ user: ""
+ password: ""
+ servers:
+ vnf:
+ network_ports:
+ mgmt:
+ cidr: '1.1.1.61/24'
+ xe0:
+ - uplink_0
+ xe1:
+ - downlink_0
+ networks:
+ uplink_0:
+ phy_port: "0000:07:00.0"
+ vpci: "0000:00:07.0"
+ cidr: '152.16.100.10/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:07: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/cgnapt/tc_sriov_rfc2544_ipv4_1rule_64B_trex.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_64B_trex.yaml
new file mode 100644
index 000000000..ec517bbef
--- /dev/null
+++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_rfc2544_ipv4_1rule_64B_trex.yaml
@@ -0,0 +1,78 @@
+# Copyright (c) 2016-2017 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_cgnapt.yaml
+ topology: cgnapt-vnf-topology.yaml
+ nodes:
+ tg__0: tg__0.yardstick
+ vnf__0: vnf.yardstick
+ options:
+ framesize:
+ uplink: {64B: 100}
+ downlink: {64B: 100}
+ flow:
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
+ public_ip: ["152.16.40.10"]
+ count: 1
+ traffic_type: 4
+ rfc2544:
+ allowed_drop_rate: 0.0001 - 0.0001
+ vnf__0:
+ vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+ runner:
+ type: Iteration
+ iterations: 10
+ interval: 35
+contexts:
+ - name: yardstick
+ type: Node
+ file: /etc/yardstick/nodes/standalone/pod_trex.yaml
+ - type: StandaloneSriov
+ file: /etc/yardstick/nodes/standalone/host_sriov.yaml
+ name: yardstick
+ vm_deploy: True
+ flavor:
+ images: "/var/lib/libvirt/images/ubuntu.qcow2"
+ ram: 4096
+ extra_specs:
+ hw:cpu_sockets: 1
+ hw:cpu_cores: 7
+ hw:cpu_threads: 2
+ user: ""
+ password: ""
+ servers:
+ vnf:
+ 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:07.0"
+ cidr: '152.16.100.10/24'
+ gateway_ip: '152.16.100.20'
+ downlink_0:
+ phy_port: "0000:05:00.1"
+ vpci: "0000:00:08.0"
+ cidr: '152.16.40.10/24'
+ gateway_ip: '152.16.100.20'