From 0b908d5d0b0e77c366f39f258f0a3f6a54bfe304 Mon Sep 17 00:00:00 2001
From: Myron Sosyak <myronx.sosyak@intel.com>
Date: Thu, 13 Dec 2018 17:53:07 +0000
Subject: Add IxNetwork L3 scenario implementation

Protocol interfaces are creating with config from pod file
Static IP configuration are creating from testcase flow options

JIRA: YARDSTICK-1570

Change-Id: I74cde67b5084d5b65d09934fe8fce7760b5ea461
Signed-off-by: Myron Sosyak <myronx.sosyak@intel.com>
---
 ...baremetal_rfc2544_latency_ipv4_64B_ixia_L3.yaml | 55 +++++++++++++++++++
 .../traffic_profiles/ixia_ipv4_latency_L3.yaml     | 64 ++++++++++++++++++++++
 2 files changed, 119 insertions(+)
 create mode 100644 samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia_L3.yaml
 create mode 100644 samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_L3.yaml

(limited to 'samples')

diff --git a/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia_L3.yaml b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia_L3.yaml
new file mode 100644
index 000000000..1610193d0
--- /dev/null
+++ b/samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia_L3.yaml
@@ -0,0 +1,55 @@
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{% set vports = vports or 2 %}
+---
+schema: yardstick:task:0.1
+scenarios:
+- type: NSPerf
+  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency_L3.yaml
+  topology: agnostic_vnf_topology_ixia_{{ vports }}ports.yaml
+  ixia_config: IxiaL3
+  extra_args:
+    vports: {{ vports }}
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+  options:
+    framesize:
+      uplink: {64B: 100}
+      downlink: {64B: 100}
+    flow:
+      src_ip:
+{% for vport in range(0,vports,2|int) %}
+        - '152.{{ vport }}.0.1-152.{{ vport }}.0.50'
+{% endfor %}
+      dst_ip:
+{% for vport in range(1,vports,2|int) %}
+        - '152.{{ vport }}.1.1-152.{{ vport }}.1.150'
+{% endfor %}
+      count: 1
+    traffic_type: 4
+    rfc2544:
+      allowed_drop_rate: 0.0001 - 0.0001
+    vnf__0:
+      []
+  runner:
+    type: Iteration
+    iterations: 10
+    interval: 35
+context:
+  type: Node
+  name: yardstick
+  nfvi_type: baremetal
+  file: /etc/yardstick/nodes/pod_ixia.yaml
diff --git a/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_L3.yaml b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_L3.yaml
new file mode 100644
index 000000000..e7221b1f7
--- /dev/null
+++ b/samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_L3.yaml
@@ -0,0 +1,64 @@
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+{% set vports = get(extra_args, 'vports', '2') %}
+---
+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 with L3 support
+traffic_profile:
+  traffic_type : IXIARFC2544Profile # defines traffic behavior - constant or look for highest possible throughput
+  frame_rate : 100  # pc of linerate
+  duration: {{ duration }}
+  enable_latency: True
+
+{% for vport in range(vports|int) %}
+uplink_{{ vport }}:
+  ipv4:
+    id: {{ (vport * 2) + 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') }}"
+        1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
+        1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
+        1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+        1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+        1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
+
+downlink_{{vport}}:
+  ipv4:
+    id: {{ (vport * 2) + 2 }}
+    outer_l2:
+      framesize:
+        64B: "{{get(imix, 'imix.downlink.64B', '0') }}"
+        128B: "{{get(imix, 'imix.downlink.128B', '0') }}"
+        256B: "{{get(imix, 'imix.downlink.256B', '0') }}"
+        373b: "{{get(imix, 'imix.downlink.373B', '0') }}"
+        512B: "{{get(imix, 'imix.downlink.512B', '0') }}"
+        570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+        1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
+        1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
+        1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+        1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+        1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
+{% endfor %}
-- 
cgit