aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ansible/ovs_scale_out_test_ixia_correlated_templates.yml6
-rw-r--r--ansible/ovs_scale_out_test_templates.yml2
-rw-r--r--ansible/sriov_scale_out_test_ixia_correlated_templates.yml2
-rw-r--r--ansible/standalone_ovs_scale_out_ixia_correlated_test.yaml4
-rw-r--r--ansible/standalone_ovs_scale_out_ixia_test.yaml4
-rw-r--r--ansible/standalone_ovs_scale_out_test.yaml8
-rw-r--r--ansible/standalone_sriov_scale_out_ixia_correlated_test.yaml4
-rw-r--r--ansible/standalone_sriov_scale_out_ixia_test.yaml4
-rw-r--r--ansible/standalone_sriov_scale_out_test.yaml2
-rw-r--r--etc/yardstick/nodes/standalone/baremetal_trex.yaml18
-rw-r--r--samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml2
-rw-r--r--samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml2
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml4
-rw-r--r--samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml4
-rw-r--r--samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml2
-rw-r--r--samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml1
-rw-r--r--samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml2
-rw-r--r--samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml76
18 files changed, 111 insertions, 36 deletions
diff --git a/ansible/ovs_scale_out_test_ixia_correlated_templates.yml b/ansible/ovs_scale_out_test_ixia_correlated_templates.yml
index ca5fe00ef..c26505342 100644
--- a/ansible/ovs_scale_out_test_ixia_correlated_templates.yml
+++ b/ansible/ovs_scale_out_test_ixia_correlated_templates.yml
@@ -21,7 +21,7 @@
- template:
- src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-scale-out.yaml
+ src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml
dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- template:
@@ -49,10 +49,6 @@
dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
- template:
- src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-ixia-scale-out.yaml
- dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-{{ num_vnfs }}.yaml
-
-- template:
src: ../samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml
dest: ../samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_{{num_vnfs}}.yaml
diff --git a/ansible/ovs_scale_out_test_templates.yml b/ansible/ovs_scale_out_test_templates.yml
index aadec6d62..cffa73342 100644
--- a/ansible/ovs_scale_out_test_templates.yml
+++ b/ansible/ovs_scale_out_test_templates.yml
@@ -25,7 +25,7 @@
- template:
src: ../etc/yardstick/nodes/standalone/baremetal_trex.yaml
- dest: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml
+ dest: /etc/yardstick/nodes/baremetal_trex_{{ num_vnfs }}.yaml
- template:
src: ../etc/yardstick/nodes/standalone/pod_sriov.yaml
diff --git a/ansible/sriov_scale_out_test_ixia_correlated_templates.yml b/ansible/sriov_scale_out_test_ixia_correlated_templates.yml
index 2a6c352b4..626030712 100644
--- a/ansible/sriov_scale_out_test_ixia_correlated_templates.yml
+++ b/ansible/sriov_scale_out_test_ixia_correlated_templates.yml
@@ -21,7 +21,7 @@
- template:
- src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-scale-out.yaml
+ src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml
dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- template:
diff --git a/ansible/standalone_ovs_scale_out_ixia_correlated_test.yaml b/ansible/standalone_ovs_scale_out_ixia_correlated_test.yaml
index e3c8c7ca1..516676576 100644
--- a/ansible/standalone_ovs_scale_out_ixia_correlated_test.yaml
+++ b/ansible/standalone_ovs_scale_out_ixia_correlated_test.yaml
@@ -55,7 +55,7 @@
ixchassis: "1.1.1.127" #ixia chassis ip
tcl_port: "8009" # tcl server port
lib_path: "/opt/ixia/ixos-api/8.01.0.2/lib/ixTcl1.0"
- ""_dir: "/opt/ixia/ixos-api/8.01.0.2/"
+ root_dir: "/opt/ixia/ixos-api/8.01.0.2/"
py_bin_path: "/opt/ixia/ixload/8.01.106.3/bin/"
py_lib_path: "/opt/ixia/ixnetwork/8.01.1029.14/lib/PythonApi"
dut_result_dir: "/mnt/results"
@@ -87,7 +87,7 @@
# Environment variables
gen_1:
user: ""
- password: ""!
+ password: ""
key_filename: /""/.ssh/id_rsa
pcis:
uplink:
diff --git a/ansible/standalone_ovs_scale_out_ixia_test.yaml b/ansible/standalone_ovs_scale_out_ixia_test.yaml
index d8ee224ac..ff665377f 100644
--- a/ansible/standalone_ovs_scale_out_ixia_test.yaml
+++ b/ansible/standalone_ovs_scale_out_ixia_test.yaml
@@ -27,6 +27,8 @@
socket_0: 2048
socket_1: 2048
flavor:
+ user: root
+ password: ""
ram: 4096
image: "/var/lib/libvirt/images/ubuntu.qcow2"
extra_specs:
@@ -56,7 +58,7 @@
ixchassis: "1.1.1.127" #ixia chassis ip
tcl_port: "8009" # tcl server port
lib_path: "/opt/ixia/ixos-api/8.01.0.2/lib/ixTcl1.0"
- ""_dir: "/opt/ixia/ixos-api/8.01.0.2/"
+ root_dir: "/opt/ixia/ixos-api/8.01.0.2/"
py_bin_path: "/opt/ixia/ixload/8.01.106.3/bin/"
py_lib_path: "/opt/ixia/ixnetwork/8.01.1029.14/lib/PythonApi"
dut_result_dir: "/mnt/results"
diff --git a/ansible/standalone_ovs_scale_out_test.yaml b/ansible/standalone_ovs_scale_out_test.yaml
index 2a0246c2d..996fc0f50 100644
--- a/ansible/standalone_ovs_scale_out_test.yaml
+++ b/ansible/standalone_ovs_scale_out_test.yaml
@@ -51,9 +51,9 @@
# Environment variables
gen:
- user: root
+ user: ""
password: ""
- key_filename: /root/.ssh/id_rsa
+ key_filename: ~
pcis:
uplink:
- "0000:05:00.0"
@@ -80,9 +80,9 @@
host:
ip: "192.168.100.101/24"
- user: root
+ user: ""
password: ""
- key_filename: /root/.ssh/id_rsa
+ key_filename: ~
vnf:
pcis:
diff --git a/ansible/standalone_sriov_scale_out_ixia_correlated_test.yaml b/ansible/standalone_sriov_scale_out_ixia_correlated_test.yaml
index 084dcbf7e..45a4a498b 100644
--- a/ansible/standalone_sriov_scale_out_ixia_correlated_test.yaml
+++ b/ansible/standalone_sriov_scale_out_ixia_correlated_test.yaml
@@ -47,7 +47,7 @@
ixchassis: "1.1.1.127" #ixia chassis ip
tcl_port: "8009" # tcl server port
lib_path: "/opt/ixia/ixos-api/8.01.0.2/lib/ixTcl1.0"
- ""_dir: "/opt/ixia/ixos-api/8.01.0.2/"
+ root_dir: "/opt/ixia/ixos-api/8.01.0.2/"
py_bin_path: "/opt/ixia/ixload/8.01.106.3/bin/"
py_lib_path: "/opt/ixia/ixnetwork/8.01.1029.14/lib/PythonApi"
dut_result_dir: "/mnt/results"
@@ -80,7 +80,7 @@
gen_1:
user: ""
password: ""
- key_filename: /""/.ssh/id_rsa
+ key_filename: "~"
pcis:
uplink:
- "0000:05:00.0"
diff --git a/ansible/standalone_sriov_scale_out_ixia_test.yaml b/ansible/standalone_sriov_scale_out_ixia_test.yaml
index 79ec0e68e..659dbef07 100644
--- a/ansible/standalone_sriov_scale_out_ixia_test.yaml
+++ b/ansible/standalone_sriov_scale_out_ixia_test.yaml
@@ -47,7 +47,7 @@
ixchassis: "1.1.1.127" #ixia chassis ip
tcl_port: "8009" # tcl server port
lib_path: "/opt/ixia/ixos-api/8.01.0.2/lib/ixTcl1.0"
- ""_dir: "/opt/ixia/ixos-api/8.01.0.2/"
+ root_dir: "/opt/ixia/ixos-api/8.01.0.2/"
py_bin_path: "/opt/ixia/ixload/8.01.106.3/bin/"
py_lib_path: "/opt/ixia/ixnetwork/8.01.1029.14/lib/PythonApi"
dut_result_dir: "/mnt/results"
@@ -80,7 +80,7 @@
ip: "192.168.100.101/24"
user: ""
password: ""
- key_filename: /""/.ssh/id_rsa
+ key_filename: "~"
vnf:
user: ""
diff --git a/ansible/standalone_sriov_scale_out_test.yaml b/ansible/standalone_sriov_scale_out_test.yaml
index e51e5617e..fe6989d54 100644
--- a/ansible/standalone_sriov_scale_out_test.yaml
+++ b/ansible/standalone_sriov_scale_out_test.yaml
@@ -19,7 +19,7 @@
- 2
flavor:
user: root
- password: ""!
+ password: ""
ram: 4096
image: "/var/lib/libvirt/images/ubuntu.qcow2"
extra_specs:
diff --git a/etc/yardstick/nodes/standalone/baremetal_trex.yaml b/etc/yardstick/nodes/standalone/baremetal_trex.yaml
index 508fb88d3..d41b8989f 100644
--- a/etc/yardstick/nodes/standalone/baremetal_trex.yaml
+++ b/etc/yardstick/nodes/standalone/baremetal_trex.yaml
@@ -21,17 +21,17 @@ nodes:
password: {{gen.password}}
key_filename: {{gen.key_filename}}
interfaces:
-{% for num in range(item.num_vnfs|int) %}
+{% for num in range(num_vnfs|int) %}
xe{{num * 2}}: # logical name from topology.yaml and vnfd.yaml
- vpci: "{{gen.pcis.private[num]}}"
+ vpci: "{{gen.pcis.uplink[num]}}"
dpdk_port_num: {{num * 2}}
- local_ip: "{{gen.ip.private[num] | ipaddr('address')}}"
- netmask: "{{gen.ip.private[num] | ipaddr('netmask')}}"
- local_mac: "{{gen.mac.private[num]}}"
+ local_ip: "{{gen.ip.uplink[num] | ipaddr('address')}}"
+ netmask: "{{gen.ip.uplink[num] | ipaddr('netmask')}}"
+ local_mac: "{{gen.mac.uplink[num]}}"
xe{{(num * 2) + 1}}: # logical name from topology.yaml and vnfd.yaml
- vpci: "{{gen.pcis.public[num]}}"
+ vpci: "{{gen.pcis.downlink[num]}}"
dpdk_port_num: {{(num * 2) + 1}}
- local_ip: "{{gen.ip.public[num] | ipaddr('address') }}"
- netmask: "{{gen.ip.private[num] | ipaddr('netmask')}}"
- local_mac: "{{gen.mac.public[num]}}"
+ local_ip: "{{gen.ip.downlink[num] | ipaddr('address') }}"
+ netmask: "{{gen.ip.uplink[num] | ipaddr('netmask')}}"
+ local_mac: "{{gen.mac.downlink[num]}}"
{% endfor %}
diff --git a/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml
index 8e1c43f88..5f5d0869d 100644
--- a/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml
+++ b/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml
@@ -17,7 +17,7 @@ schema: yardstick:task:0.1
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- topology: acl-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ topology: acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
tg__1: tg__1.yardstick
diff --git a/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml
index d06c2ec96..024507bc6 100644
--- a/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml
+++ b/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml
@@ -17,7 +17,7 @@ schema: yardstick:task:0.1
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- topology: acl-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml
+ topology: acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
tg__1: tg__1.yardstick
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
index 5f575d709..e2002abc0 100644
--- 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
@@ -16,8 +16,8 @@
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
+ 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
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
index 5b6d4a525..7f6e76cc2 100644
--- 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
@@ -16,8 +16,8 @@
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
+ 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
diff --git a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml
index a82cece07..3606a5585 100644
--- a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml
+++ b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml
@@ -17,7 +17,7 @@ schema: yardstick:task:0.1
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- topology: vfw-tg-topology-scale-out-{{ num_vnfs }}.yaml
+ topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
tg__1: tg__1.yardstick
diff --git a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml
index 10e8e20cd..c263a7688 100644
--- a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml
+++ b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml
@@ -45,6 +45,7 @@ scenarios:
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/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg
runner:
type: Iteration
iterations: 10
diff --git a/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml
index efa51a459..d7016964a 100644
--- a/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml
+++ b/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml
@@ -17,7 +17,7 @@ schema: yardstick:task:0.1
scenarios:
- type: NSPerf
traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml
- topology: vfw-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml
+ topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml
nodes:
tg__0: tg__0.yardstick
tg__1: tg__1.yardstick
diff --git a/samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml b/samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml
new file mode 100644
index 000000000..500163205
--- /dev/null
+++ b/samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-correlated-scale-out.yaml
@@ -0,0 +1,76 @@
+#jinja2:variable_start_string:'[[', variable_end_string:']]', block_start_string:'[%', block_end_string:'%]'
+# 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.
+
+# flow definition for ACL tests - 1K flows - ipv4 only
+#
+# the number of flows defines the widest range of parameters
+# for example if srcip_range=1.0.0.1-1.0.0.255 and dst_ip_range=10.0.0.1-10.0.1.255
+# and it should define only 16 flows
+#
+# there is assumption that packets generated will have a random sequences of following addresses pairs
+# in the packets
+# 1. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+# 2. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+# ...
+# 512. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
+#
+# not all combination should be filled
+# Any other field with random range will be added to flow definition
+#
+# the example.yaml provides all possibilities for traffic generation
+#
+# the profile defines a public and private side to make limited traffic correlation
+# between private and public side same way as it is made by IXIA solution.
+#
+---
+schema: "nsb:traffic_profile:0.1"
+
+# This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator
+
+name: rfc2544
+description: Traffic profile to run RFC2544 latency
+traffic_profile:
+ traffic_type: IXIARFC2544Profile # defines traffic behavior - constant or look for highest possible throughput
+ frame_rate: 100 # pc of linerate
+ # that specifies a range (e.g. ipv4 address, port)
+
+
+[% for vnf_num in range(num_vnfs|int) %]
+uplink_[[ vnf_num ]]:
+ ipv4:
+ id: [[vnf_num + 1]]
+ outer_l2:
+ framesize:
+ 64B: "{{ get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
+ outer_l3v4:
+ proto: "udp"
+ srcip4: "{{get(flow, 'flow.src_ip_[[ vnf_num ]]', '1.1.1.1-1.1.255.255') }}"
+ dstip4: "{{get(flow, 'flow.dst_ip_[[ vnf_num ]]', '90.90.1.1-90.90.255.255') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+ ttl: 32
+ dscp: 0
+ outer_l4:
+ srcport: "{{get(flow, 'flow.src_port_[[ vnf_num ]]', '1234-4321') }}"
+ dstport: "{{get(flow, 'flow.dst_port_[[ vnf_num ]]', '2001-4001') }}"
+ count: "{{get(flow, 'flow.count', '1') }}"
+[% endfor %]