Merge "Generate pod.yaml from current context"
authorRoss Brattain <ross.b.brattain@intel.com>
Wed, 20 Sep 2017 20:57:41 +0000 (20:57 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 20 Sep 2017 20:57:41 +0000 (20:57 +0000)
216 files changed:
ansible/build_yardstick_image.yml
ansible/nsb_setup.yml
ansible/roles/install_dependencies/tasks/Debian.yml
ansible/roles/install_image_dependencies/tasks/main.yml
dashboard/Prox_BM_ACL_Test-2Port-1499777741771.json [new file with mode: 0644]
dashboard/Prox_BM_ACL_Test-4Port-1499777725160.json [new file with mode: 0644]
dashboard/Prox_BM_L2FWD_Multiflow-2Port-1501760631065.json [new file with mode: 0644]
dashboard/Prox_BM_L2FWD_Multiflow-4Port-1501760650413.json [new file with mode: 0644]
dashboard/Prox_BM_LB_1to4-4Port-1501782362979.json [new file with mode: 0644]
dashboard/Prox_Heat_ACL_Test-2Port-1499778177265.json [new file with mode: 0644]
dashboard/Prox_Heat_ACL_Test-4Port-1499778040281.json [new file with mode: 0644]
dashboard/Prox_Heat_L2FWD_Multiflow-2Port-1501760607998.json [new file with mode: 0644]
dashboard/Prox_Heat_L2FWD_Multiflow-4Port-1501761305237.json [new file with mode: 0644]
dashboard/Prox_Heat_LB_1to4-4Port-1505826034525.json [new file with mode: 0644]
samples/vnf_samples/nsut/2trex/tc_trex_baremetal_context.yaml
samples/vnf_samples/nsut/2trex/trex_tg_topology.yaml
samples/vnf_samples/nsut/acl/acl-tg-topology-3node.yaml
samples/vnf_samples/nsut/acl/acl-tg-topology.yaml
samples/vnf_samples/nsut/acl/acl_vnf_topology_ixia.yaml
samples/vnf_samples/nsut/acl/acl_vnf_topology_ixload.yaml
samples/vnf_samples/nsut/acl/ixia_traffic.cfg
samples/vnf_samples/nsut/acl/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_corelated_traffic.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_scale_up.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_ipv4_worstcaserules_1flow_64B_trex.yaml
samples/vnf_samples/nsut/acl/tc_baremetal_rfc2544_with_latency_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/acl/tc_heat_trex_external_rfc2544_ipv4_1rule_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node.yaml
samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology.yaml
samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixia.yaml
samples/vnf_samples/nsut/cgnapt/cgnapt_vnf_topology_ixload.yaml
samples/vnf_samples/nsut/cgnapt/ixia_traffic.cfg
samples/vnf_samples/nsut/cgnapt/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia_scale_up.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_scale_up.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/cgnapt/tc_baremetal_rfc2544_with_latency_ipv4_1flow_dynamic_cgnapt_ixia.yaml
samples/vnf_samples/nsut/cgnapt/tc_heat_external_rfc2544_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/ping/ping_tg_topology.yaml
samples/vnf_samples/nsut/ping/tc_external_ping_heat_context.yaml
samples/vnf_samples/nsut/ping/tc_ping_baremetal_context.yaml
samples/vnf_samples/nsut/ping/tc_ping_heat_context.yaml
samples/vnf_samples/nsut/ping/tc_ping_ovs_dpdk_context.yaml
samples/vnf_samples/nsut/prox/baremetal/throughput/tc_ipv4_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/prox/configs/gen_acl-2.cfg
samples/vnf_samples/nsut/prox/configs/gen_acl-4.cfg
samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-2.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-4.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/gen_lb-4.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/handle_acl-2.cfg
samples/vnf_samples/nsut/prox/configs/handle_acl-4.cfg
samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-2.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-4.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/handle_lb-4.cfg [new file with mode: 0644]
samples/vnf_samples/nsut/prox/configs/tuples.lua [new file with mode: 0644]
samples/vnf_samples/nsut/prox/ovs-dpdk/http_tests/tc_FileSize-1K_Requests-1M_Concurrency-100.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_1rule_1flow_1518B_packetsize.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_1rule_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_1rule_1flow_IMIX_packetsize.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_worstcaserules_1flow_1518B_packetsize.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_worstcaserules_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/prox/ovs-dpdk/throughput/tc_ipv4_worstcaserules_1flow_IMIX_packetsize.yaml
samples/vnf_samples/nsut/prox/prox-tg-topology-1.yaml
samples/vnf_samples/nsut/prox/prox-tg-topology-2.yaml
samples/vnf_samples/nsut/prox/prox-tg-topology-4.yaml
samples/vnf_samples/nsut/prox/sriov/http_tests/tc_FileSize-1K_Requests-1M_Concurrency-100.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_1rule_1flow_1518B_packetsize.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_1rule_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_1rule_1flow_IMIX_packetsize.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_worstcaserules_1flow_1518B_packetsize.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_worstcaserules_1flow_64B_packetsize.yaml
samples/vnf_samples/nsut/prox/sriov/throughput/tc_ipv4_worstcaserules_1flow_IMIX_packetsize.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_acl-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_acl-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_binsearch.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_buffering-1.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-2.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-4.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_pktTouch-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_pktTouch-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l3fwd-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_l3fwd-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_lb-4.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_baremetal_mpls_tagging-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_mpls_tagging-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_ramp.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_acl-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_acl-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_buffering-1.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-2-l3fwd-2.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-4-l3fwd-4.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-2.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-4.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_pktTouch-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_pktTouch-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l3fwd-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_l3fwd-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_lb-4.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_heat_context_mpls_tagging-2.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_mpls_tagging-4.yaml
samples/vnf_samples/nsut/udp_replay/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/udp_replay/tc_heat_rfc2544_ipv4_1flow_64B_trex.yaml
samples/vnf_samples/nsut/udp_replay/udp_replay-vnf-topology.yaml
samples/vnf_samples/nsut/vfw/ixia_traffic.cfg
samples/vnf_samples/nsut/vfw/tc_baremetal_http_ixload_1b_Requests-65000_Concurrency.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_ixia_scale_up.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_corelated_traffic.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_scale_up.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_with_latency_ipv4_1rule_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_with_latency_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/vfw/tc_heat_external_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/vfw/tc_heat_external_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/vfw/vfw-tg-topology-3node.yaml
samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/vfw/vfw-tg-topology.yaml
samples/vnf_samples/nsut/vfw/vfw_vnf_topology_ixia.yaml
samples/vnf_samples/nsut/vfw/vfw_vnf_topology_ixload.yaml
samples/vnf_samples/nsut/vpe/ixia_traffic.cfg
samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml
samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml
samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml
samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml
samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml
samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml
samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml
samples/vnf_samples/nsut/vpe/vpe_vnf_topology.yaml
samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml
samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml
samples/vnf_samples/traffic_profiles/example.yaml
samples/vnf_samples/traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml
samples/vnf_samples/traffic_profiles/ipv4_throughput.yaml
samples/vnf_samples/traffic_profiles/ipv4_throughput_cgnapt.yaml
samples/vnf_samples/traffic_profiles/ipv4_throughput_vpe.yaml
samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml
samples/vnf_samples/traffic_profiles/ixia_ipv4_latency_vpe.yaml
samples/vnf_samples/traffic_profiles/prox_acl.yaml
samples/vnf_samples/traffic_profiles/prox_heat_acl.yaml [new file with mode: 0644]
samples/vnf_samples/traffic_profiles/prox_lb.yaml [new file with mode: 0644]
samples/vnf_samples/vnf_descriptors/prox_vnf-1.yaml
samples/vnf_samples/vnf_descriptors/prox_vnf-2.yaml
samples/vnf_samples/vnf_descriptors/prox_vnf-4.yaml
samples/vnf_samples/vnf_descriptors/tg_prox_tpl-1.yaml
samples/vnf_samples/vnf_descriptors/tg_prox_tpl-2.yaml
samples/vnf_samples/vnf_descriptors/tg_prox_tpl-4.yaml
samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl.yaml
samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml [deleted file]
tests/opnfv/test_suites/opnfv_os-nosdn-bar-ha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-nosdn-bar-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl-fdio-dvr-ha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl-fdio-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl-nofeature-ha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl-ovs-ha_daily.yaml [new file with mode: 0644]
tests/unit/apiserver/__init__.py
tests/unit/benchmark/contexts/test_heat.py
tests/unit/benchmark/core/test_task.py
tests/unit/benchmark/scenarios/networking/ipv4_throughput_vpe.yaml
tests/unit/benchmark/scenarios/networking/test_vnf_generic.py
tests/unit/benchmark/scenarios/networking/vpe_vnf_topology.yaml
tests/unit/network_services/helpers/acl_vnf_topology_ixia.yaml
tests/unit/network_services/helpers/test_samplevnf_helper.py
tests/unit/network_services/libs/ixia_libs/test_IxNet.py
tests/unit/network_services/traffic_profile/test_ixia_rfc2544.py
tests/unit/network_services/traffic_profile/test_prox_acl.py
tests/unit/network_services/traffic_profile/test_prox_binsearch.py
tests/unit/network_services/traffic_profile/test_prox_mpls.py
tests/unit/network_services/traffic_profile/test_prox_profile.py
tests/unit/network_services/traffic_profile/test_rfc2544.py
tests/unit/network_services/traffic_profile/test_traffic_profile.py
tests/unit/network_services/vnf_generic/test_vnfdgen.py
tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py
tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py
tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py
tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py
tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py
tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py
tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py
tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py
tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py
tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py
tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py
yardstick/benchmark/contexts/heat.py
yardstick/benchmark/scenarios/networking/vnf_generic.py
yardstick/network_services/helpers/samplevnf_helper.py
yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
yardstick/network_services/traffic_profile/base.py
yardstick/network_services/traffic_profile/ixia_rfc2544.py
yardstick/network_services/traffic_profile/prox_ACL.py
yardstick/network_services/traffic_profile/prox_profile.py
yardstick/network_services/traffic_profile/rfc2544.py
yardstick/network_services/traffic_profile/traffic_profile.py
yardstick/network_services/vnf_generic/vnf/base.py
yardstick/network_services/vnf_generic/vnf/cgnapt_vnf.py
yardstick/network_services/vnf_generic/vnf/prox_helpers.py
yardstick/network_services/vnf_generic/vnf/prox_vnf.py
yardstick/network_services/vnf_generic/vnf/sample_vnf.py
yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py
yardstick/network_services/vnf_generic/vnf/udp_replay.py
yardstick/network_services/vnf_generic/vnf/vpe_vnf.py

index 5f91585..35d9da4 100644 (file)
     - name: convert image to raw
       command: "qemu-img convert {{ image_dest }} {{ raw_imgfile }}"
 
+    - name: resize image to allow for more VNFs
+      command: "qemu-img resize -f raw {{ raw_imgfile }} +2G"
+
+    - name: resize parition to allow for more VNFs
+      command: "parted -s -a optimal {{ raw_imgfile }} resizepart 1 100%"
+
     - name: create mknod devices in chroot
       command: "mknod -m 0660 /dev/loop{{ item }} b 7 {{ item }}"
       args:
 
     - set_fact:
         image_fs_type: "{{ blkid_res.stdout.strip() }}"
+    - fail:
+        msg: "We only support ext4 image filesystems because we have to resize"
+      when: image_fs_type != "ext4"
+
+    - name: fsck the image filesystem
+      command: "e2fsck -y -f {{ image_first_partition_device  }}"
+
+    - name: resize filesystem to full partition size
+      command: resize2fs {{ image_first_partition_device }}
+
+    - name: fsck the image filesystem
+      command: "e2fsck -y -f {{ image_first_partition_device  }}"
 
     - name: make tmp disposable fstab
       command: mktemp --tmpdir fake_fstab.XXXXXXXXXX
index 78cf87e..fcb5188 100644 (file)
     - name: Start yardstick container
       docker_container:
         name: yardstick
+        pull: yes
+        recreate: yes
         image: opnfv/yardstick:latest
         recreate: yes
         state: started
         restart_policy: always
-        privileged: True
-        interactive: True
+        privileged: yes
+        interactive: yes
         volumes:
           - "{{ openrc_file|default('/dev/null') }}:/etc/yardstick/openstack.creds:ro"
           - /var/run/docker.sock:/var/run/docker.sock
index 7a9911e..bba6fb1 100755 (executable)
@@ -47,3 +47,4 @@
     - uwsgi-plugin-python
     - supervisor
     - python-setuptools
+    - lsof
index f3a3151..ffd30f3 100644 (file)
@@ -16,7 +16,7 @@
     include: "{{ ansible_os_family }}.yml"
 
   - name: Install core packages
-    action: "{{ ansible_pkg_mgr }} name={{ item }} state=latest"
+    action: "{{ ansible_pkg_mgr }} name={{ item }} state=latest update_cache=yes"
     register: pkg_mgr_results
     retries: "{{ pkg_mgr_retries }}"
     until: pkg_mgr_results|success
diff --git a/dashboard/Prox_BM_ACL_Test-2Port-1499777741771.json b/dashboard/Prox_BM_ACL_Test-2Port-1499777741771.json
new file mode 100644 (file)
index 0000000..2279df1
--- /dev/null
@@ -0,0 +1,931 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_BM_ACL_Test-2Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "ACL",
+    "BM",
+    "2Port"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "100px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_BM_ACL_2Port_Test</center> </a></h5>\n<center>\n<p>This test allows to measure how well the SUT can exploit structures in the list of ACL rules. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "ACL VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "now/w",
+    "to": "now"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 26,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_BM_ACL_Test-4Port-1499777725160.json b/dashboard/Prox_BM_ACL_Test-4Port-1499777725160.json
new file mode 100644 (file)
index 0000000..8bdcb70
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_BM_ACL_Test-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "ACL",
+    "BM",
+    "4Port"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_BM_ACL_4Port_Test</center> </a></h5>\n<center>\n<p>This test allows to measure how well the SUT can exploit structures in the list of ACL rules. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "ACL VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-06-27T09:43:32.713Z",
+    "to": "2017-06-27T09:46:04.003Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 18,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_BM_L2FWD_Multiflow-2Port-1501760631065.json b/dashboard/Prox_BM_L2FWD_Multiflow-2Port-1501760631065.json
new file mode 100644 (file)
index 0000000..0bfec76
--- /dev/null
@@ -0,0 +1,900 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_BM_L2FWD_Multiflow-2Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "BM",
+    "2Port",
+    "L2FWD_Multiflow"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "100px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_L2FWD_Multiflow_2Port_BM_Test</center> </a></h5>\n<center>\n<p>This test allows to measures L2FWD with multiple flows (randomly generated src/dst  ip addresses). The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2Fwd Multiflow VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "L2Fwd Multiflow VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2Fwd Multiflow Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Packet size",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-08-03T10:00:17.289Z",
+    "to": "2017-08-03T10:02:23.481Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 5,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_BM_L2FWD_Multiflow-4Port-1501760650413.json b/dashboard/Prox_BM_L2FWD_Multiflow-4Port-1501760650413.json
new file mode 100644 (file)
index 0000000..2a0c33b
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_BM_L2FWD_Multiflow-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "4Port",
+    "L2FWD_Multiflow",
+    "BM"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_BM_L2FWD_Multiflow-4Port</center> </a></h5>\n<center>\n<p>This test measures L2FWD with multiple flows. (src/dst ip address are randomly generated)  The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2FWD Multiflow VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "L2FWD Multiflow VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2FWD MultiflowTraffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG  RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-08-03T10:26:14.359Z",
+    "to": "2017-08-03T10:28:43.436Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 8,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_BM_LB_1to4-4Port-1501782362979.json b/dashboard/Prox_BM_LB_1to4-4Port-1501782362979.json
new file mode 100644 (file)
index 0000000..cbcca8b
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_BM_LB_1to4-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "4Port",
+    "BM",
+    "LB"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_BM_LB_1to4Port</center> </a></h5>\n<center>\n<p>This transmits random packets on 1 port, and received them on 4 ports. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox Load Balancer  VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox Load Balancer Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 10,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": false,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Load Balancer VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG  RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-08-03T17:29:12.741Z",
+    "to": "2017-08-03T17:30:59.111Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 4,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_Heat_ACL_Test-2Port-1499778177265.json b/dashboard/Prox_Heat_ACL_Test-2Port-1499778177265.json
new file mode 100644 (file)
index 0000000..f841e49
--- /dev/null
@@ -0,0 +1,931 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_Heat_ACL_Test-2Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "ACL",
+    "Heat",
+    "2Port"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_ACL_Heat_Test-2Port</center> </a></h5>\n<center>\n<p>This test allows to measure how well the SUT can exploit structures in the list of ACL rules. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "ACL VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "policy": "default",
+              "dsType": "influxdb",
+              "resultFormat": "time_series",
+              "tags": [],
+              "groupBy": [
+                {
+                  "type": "time",
+                  "params": [
+                    "$interval"
+                  ]
+                },
+                {
+                  "type": "fill",
+                  "params": [
+                    "null"
+                  ]
+                }
+              ],
+              "select": [
+                [
+                  {
+                    "type": "field",
+                    "params": [
+                      "tg__1.DropPackets"
+                    ]
+                  },
+                  {
+                    "type": "mean",
+                    "params": []
+                  }
+                ]
+              ],
+              "refId": "B",
+              "measurement": "tc_prox_heat_context_acl-2",
+              "alias": "TG Dropped Packets"
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-07-07T15:33:56.340Z",
+    "to": "2017-07-07T15:36:11.941Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 7,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_Heat_ACL_Test-4Port-1499778040281.json b/dashboard/Prox_Heat_ACL_Test-4Port-1499778040281.json
new file mode 100644 (file)
index 0000000..e89dd27
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_Heat_ACL_Test-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "ACL",
+    "Heat",
+    "4Port"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_Heat_ACL_Test-4Port</center> </a></h5>\n<center>\n<p>This test allows to measure how well the SUT can exploit structures in the list of ACL rules. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "ACL VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox ACL Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG  RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_acl-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-07-07T15:00:35.628Z",
+    "to": "2017-07-07T17:54:24.315Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 12,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_Heat_L2FWD_Multiflow-2Port-1501760607998.json b/dashboard/Prox_Heat_L2FWD_Multiflow-2Port-1501760607998.json
new file mode 100644 (file)
index 0000000..62c5a39
--- /dev/null
@@ -0,0 +1,900 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_Heat_L2FWD_Multiflow-2Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "2Port",
+    "Heat",
+    "L2FWD_Multiflow"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "100px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_L2FWD_Multiflow_2Port_Heat_Test</center> </a></h5>\n<center>\n<p>This test allows to measures L2FWD with multiple flows (randomly generated src/dst  ip addresses). The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2Fwd Multiflow VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "L2Fwd Multiflow VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2Fwd Multiflow Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Tgen TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "Tgen RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Tgen Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-2",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Packet size",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-08-03T11:34:41.442Z",
+    "to": "2017-08-03T11:36:40.434Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 3,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_Heat_L2FWD_Multiflow-4Port-1501761305237.json b/dashboard/Prox_Heat_L2FWD_Multiflow-4Port-1501761305237.json
new file mode 100644 (file)
index 0000000..49c8538
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_Heat_L2FWD_Multiflow-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "4Port",
+    "L2FWD_Multiflow",
+    "Heat"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_BM_L2FWD_Multiflow-4Port</center> </a></h5>\n<center>\n<p>This test measures L2FWD with multiple flows. (src/dst ip address are randomly generated)  The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2FWD Multiflow VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 4,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "L2FWD Multiflow VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox L2FWD MultiflowTraffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_l3fwd_multiflow-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG  RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_l2fwd_multiflow-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-08-03T11:46:53.873Z",
+    "to": "2017-08-03T11:48:46.478Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 2,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
diff --git a/dashboard/Prox_Heat_LB_1to4-4Port-1505826034525.json b/dashboard/Prox_Heat_LB_1to4-4Port-1505826034525.json
new file mode 100644 (file)
index 0000000..a3b9b00
--- /dev/null
@@ -0,0 +1,1079 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_YARDSTICK",
+      "label": "yardstick",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "3.1.1"
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    }
+  ],
+  "id": null,
+  "title": "Prox_Heat_LB_1to4-4Port",
+  "tags": [
+    "yardstick",
+    "NSB",
+    "Prox",
+    "4Port",
+    "LB",
+    "Heat"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 32px '#31A7D3'\"><center>OPNFV_Yardstick_NSB_PROX_Heat_LB_1to4Port</center> </a></h5>\n<center>\n<p>This transmits random packets on 1 port, and received them on 4 ports. The KPI is the number of packets per second for 64 byte packets with an accepted minimal packet loss </p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "25",
+          "id": 3,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox Load Balancer  VNF stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><a style=\"font: 22px '#31A7D3'\"><center>Prox Load Balancer Traffic Gen stats</center> </a></h5>\n",
+          "editable": true,
+          "error": false,
+          "height": "40",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "title": "",
+          "type": "text"
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "300",
+          "id": 10,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": false,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "VNF packets Forward",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_fwd"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets in",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_in"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "VNF packets dropped",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "vnf__1.packets_dropped"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Load Balancer VNF stats",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 6,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 Out packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.out_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG out packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG xe-0 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe0.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-1 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe1.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-2 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe2.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG xe-3 in packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.xe3.in_packets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG In packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packets",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 2,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG TX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.TxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG  RX Throughput",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.RxThroughput"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Tx vs Rx Throughput",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "pps",
+              "label": "Throughput",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "${DS_YARDSTICK}",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "threshold1": 2.5,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": 2.5,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 5,
+          "isNew": true,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "TG Packet Size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_baremetal_lb-4",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.PktSize"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "alias": "TG Dropped Packets",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "tc_prox_heat_context_lb-4",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "tg__1.DropPackets"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "TG Packet size and Drop Packets",
+          "tooltip": {
+            "msResolution": true,
+            "shared": true,
+            "sort": 0,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "xaxis": {
+            "show": true
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Packet Size",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "2017-09-19T12:39:56.933Z",
+    "to": "2017-09-19T12:46:07.167Z"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": []
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 12,
+  "version": 4,
+  "links": [],
+  "gnetId": null
+}
\ No newline at end of file
index e0ba6d9..d96236e 100644 (file)
@@ -23,12 +23,12 @@ scenarios:
 
   nodes:  # This section is copied from pod.xml or resolved via Heat
     trexgen__1: trafficgen_1.yardstick
-    trexvnf__1: vnf.yardstick
+    trexvnf__0: vnf.yardstick
 
   vnf_options:
     trexgen__1:
-      target_ip: trexvnf__1.xe0.local_ip  # TODO: resolve to config vars
-    trexvnf__1:
+      target_ip: trexvnf__0.xe0.local_ip  # TODO: resolve to config vars
+    trexvnf__0:
       target_ip: trexgen__1.xe1.local_ip  # TODO: resolve to config vars
   runner:
     type: Duration
index 1a9b50c..822cf5e 100644 (file)
@@ -20,15 +20,15 @@ nsd:nsd-catalog:
         description: trex-tg-topology
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: trexgen__1
+            vnfd-id-ref: trexgen__0
             VNF model: ../../vnf_descriptors/tg_trex_tpl.yaml      #VNF type
         -   member-vnf-index: '2'
-            vnfd-id-ref: trexvnf__1
+            vnfd-id-ref: trexvnf__0
             VNF model: ../../vnf_descriptors/tg_trex_tpl.yaml      #VNF type
 
         vld:
-        -   id: private
-            name: trexgen__1 to trexvnf__1 link 1
+        -   id: uplink
+            name: trexgen__0 to trexvnf__0 link 1
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
@@ -38,8 +38,8 @@ nsd:nsd-catalog:
                 vnfd-connection-point-ref: xe0
                 vnfd-id-ref: trexgen
 
-        -   id: public
-            name: trexvnf__1 to trexgen__1 link 2
+        -   id: downlink
+            name: trexvnf__0 to trexgen__0 link 2
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
index 36cb2e8..b51f3eb 100644 (file)
@@ -20,43 +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/acl_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: private_2
-            name: tg__1 to vnf__1 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__1
+                vnfd-id-ref: tg__0
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1
-        -   id: public_1
-            name: vnf__1 to tg__2 link 2
+                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
index 9bc3e85..0066609 100644 (file)
@@ -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/acl_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
index 606d557..e6932ac 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with VACL,L3fwd and 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/acl_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                  #TREX
+                vnfd-id-ref: tg__0                  #TREX
             -   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                  #L3fwd
+                vnfd-id-ref: vnf__0                  #L3fwd
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1                  #VACL VNF
+                vnfd-id-ref: tg__0                  #VACL VNF
index 2fc173a..97a3166 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with HTTP and vACL 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/acl_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                   # VACL VNF
+                vnfd-id-ref: tg__0                   # VACL VNF
index f749865..3f7e334 100644 (file)
@@ -1,5 +1,5 @@
 {
-    "private_1": {
+    "uplink_0": {
         "id": 1,
         "bidir": "False",
         "duration": 60,
@@ -23,7 +23,7 @@
         },
         "traffic_type": "continuous"
     },
-    "public_1": {
+    "downlink_0": {
         "id": 2,
         "bidir": "False",
         "duration": 60,
index 1220cae..31ee32b 100644 (file)
@@ -19,18 +19,18 @@ scenarios:
   traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
   topology: acl_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}
     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
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 7359c62..2da7d66 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
   topology: acl_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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 2503add..088ef54 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index eb0dcb6..3e1345a 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 1261aa0..9753812 100644 (file)
@@ -19,22 +19,22 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
+      src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__1': 'xe1'}]
       count: 1
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
       correlated_traffic: true
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index ce9ada7..5bd0f17 100644 (file)
@@ -20,20 +20,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
       nfvi_enable: True
index eb0dcb6..3e1345a 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index e06ab8f..1cf37ca 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 3c92e87..c335c26 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
   runner:
@@ -67,7 +67,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:
@@ -75,7 +74,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:
index 06bea4e..f0869ec 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: acl-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
@@ -68,14 +68,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
index 7b681b5..e4c0fc9 100644 (file)
@@ -20,43 +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: private_2
-            name: tg__1 to vnf__1 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__1
+                vnfd-id-ref: tg__0
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1
-        -   id: public_1
-            name: vnf__1 to tg__2 link 2
+                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
index e668c2e..d67f38a 100644 (file)
@@ -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
index a13a64f..fbc9ab9 100644 (file)
@@ -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
index b4feaf0..71535df 100644 (file)
@@ -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
index f749865..3f7e334 100644 (file)
@@ -1,5 +1,5 @@
 {
-    "private_1": {
+    "uplink_0": {
         "id": 1,
         "bidir": "False",
         "duration": 60,
@@ -23,7 +23,7 @@
         },
         "traffic_type": "continuous"
     },
-    "public_1": {
+    "downlink_0": {
         "id": 2,
         "bidir": "False",
         "duration": 60,
index 6d769d4..d5fda58 100644 (file)
@@ -19,8 +19,8 @@ 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}
@@ -28,7 +28,7 @@ scenarios:
     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:
index 6160ca0..7d6203c 100644 (file)
@@ -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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       publicip: ["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
index 1dd2a6e..cd74655 100644 (file)
@@ -20,21 +20,21 @@ scenarios:
   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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       publicip: ["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:
index f93176d..3390cf0 100644 (file)
@@ -19,21 +19,21 @@ 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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       publicip: ["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:
index f110ab2..424422d 100644 (file)
@@ -19,22 +19,22 @@ 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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__2': 'xe0'}]
+      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
-    vnf__1:
+    vnf__0:
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       napt: 'dynamic'
       nfvi_enable: True
index dcc6c50..3736715 100644 (file)
@@ -20,21 +20,21 @@ 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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       publicip: ["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:
index f552785..0fbd402 100644 (file)
@@ -19,22 +19,22 @@ 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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       publicip: ["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:
index 55292a3..e400b17 100644 (file)
@@ -19,16 +19,16 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
   topology: cgnapt-vnf-topology-ixia-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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__2': 'xe0'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__1': 'xe0'}]
       count: 1
     traffic_type: 4
     rfc2544:
@@ -36,7 +36,7 @@ scenarios:
       correlated_traffic: true
       latency: true
       fec_port_mode: '10G'
-    vnf__1:
+    vnf__0:
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       napt: 'dynamic'
       nfvi_enable: True
index 0ad7898..b3061a3 100644 (file)
@@ -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}
     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
@@ -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
index 516c727..50398b1 100644 (file)
@@ -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}
     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
@@ -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:
index b2b852a..244d0b6 100644 (file)
@@ -20,15 +20,15 @@ nsd:nsd-catalog:
         description: ping-tg-topology
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_ping_tpl.yaml      #VNF type
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/tg_ping_tpl.yaml      #VNF type
 
         vld:
-        -   id: private
-            name: tg__1 to vnf__1 link 1
+        -   id: uplink
+            name: tg__0 to vnf__0 link 1
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
@@ -38,8 +38,8 @@ nsd:nsd-catalog:
                 vnfd-connection-point-ref: xe0
                 vnfd-id-ref: trexgen
 
-        -   id: public
-            name: vnf__1 to tg__1 link 2
+        -   id: downlink
+            name: vnf__0 to tg__0 link 2
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
index 8826f53..6e3dd32 100644 (file)
@@ -22,8 +22,8 @@ scenarios:
   topology: ping_tg_topology.yaml
 
   nodes:
-    tg__1: trafficgen_1.baremetal
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.baremetal
+    vnf__0: vnf.yardstick
 
   runner:
     type: Duration
@@ -50,11 +50,8 @@ contexts:
         external_network: "yardstick-public"
       xe0:
         cidr: '10.0.2.0/24'
-        vld_id: public
-
       xe1:
         cidr: '10.0.3.0/24'
-        vld_id: private
 
   - name: baremetal
     type: Node
index 5f2c55b..63f2524 100644 (file)
@@ -22,13 +22,13 @@ scenarios:
   topology: ping_tg_topology.yaml  # TODO: look in relative path where the tc.yaml is found
 
   nodes:  # This section is copied from pod.xml or resolved via Heat
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   vnf_options:
-    tg__1:
-      target_ip: pingvnf__1.xe0.local_ip  # TODO: resolve to config vars
-    vnf__1:
+    tg__0:
+      target_ip: pingvnf__0.xe0.local_ip  # TODO: resolve to config vars
+    vnf__0:
       target_ip: pinggen__1.xe1.local_ip  # TODO: resolve to config vars
   runner:
     type: Duration
index d6f096b..a3a11f6 100644 (file)
@@ -22,8 +22,8 @@ scenarios:
   topology: ping_tg_topology.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   runner:
     type: Duration
@@ -53,9 +53,7 @@ context:
       external_network: "yardstick-public"
     xe0:
       cidr: '10.0.2.0/24'
-      vld_id: public
     xe1:
       cidr: '10.0.3.0/24'
-      vld_id: private
 
 
index 7654b0f..5733f0d 100644 (file)
@@ -22,13 +22,13 @@ scenarios:
   topology: ping_tg_topology.yaml  # TODO: look in relative path where the tc.yaml is found
 
   nodes:  # This section is copied from pod.xml or resolved via Heat
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   vnf_options:
-    tg__1:
-      target_ip: pingvnf__1.xe0.local_ip  # TODO: resolve to config vars
-    vnf__1:
+    tg__0:
+      target_ip: pingvnf__0.xe0.local_ip  # TODO: resolve to config vars
+    vnf__0:
       target_ip: pinggen__1.xe1.local_ip  # TODO: resolve to config vars
   runner:
     type: Duration
index e8ad244..1fe2ed9 100644 (file)
@@ -19,8 +19,8 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: "../../prox-tg-topology.yaml"
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index d612e4f..816bb32 100644 (file)
@@ -1,35 +1,45 @@
-; 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.
+# 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.
+#
+#;
 
 [eal options]
--n=4 ; force number of memory channels
+-n=4
 no-output=no ; disable DPDK debug output
 
 [port 0]
 name=p0
-mac=00:00:00:00:00:01
+mac=hardware
+promiscuous=yes
+
 [port 1]
 name=p1
-mac=00:00:00:00:00:02
-
+mac=hardware
+promiscuous=yes
 
 [defaults]
 mempool size=4K
 
+[variables]
+$sut_mac0=@@dst_mac0
+$sut_mac1=@@dst_mac1
+$qinq_tag_inline="88 a8"
+
 [global]
 start time=5
-name=ACL gen
+name=Basic Gen
+
 [core 0]
 mode=master
 
@@ -40,7 +50,7 @@ mode=gen
 tx port=p0
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline= 00 00 00 00 00 01 70 00 00 00 00 01 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -62,6 +72,7 @@ random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
 lat pos=50
 
+
 [core 2]
 name=p1
 task=0
@@ -69,7 +80,7 @@ mode=gen
 tx port=p1
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline=00 00 00 00 00 02 70 00 00 00 00 02 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -90,3 +101,16 @@ rand_offset=23
 random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
 lat pos=50
+
+[core 3]
+name=rec 0
+task=0
+mode=lat
+rx port=p0
+
+[core 4]
+name=rec 1
+task=0
+mode=lat
+rx port=p1
+
index 4d7fd1c..49cf29c 100644 (file)
@@ -1,40 +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.
+# 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.
+#
+#;
 
 [eal options]
--n=4 ; force number of memory channels
+-n=4
 no-output=no ; disable DPDK debug output
 
 [port 0]
 name=p0
-mac=00:00:00:00:00:01
+mac=hardware
+promiscuous=yes
+
 [port 1]
 name=p1
-mac=00:00:00:00:00:02
+mac=hardware
+promiscuous=yes
+
 [port 2]
 name=p2
-mac=00:00:00:00:00:03
+mac=hardware
+promiscuous=yes
+
 [port 3]
 name=p3
-mac=00:00:00:00:00:04
+mac=hardware
+promiscuous=yes
 
 [defaults]
 mempool size=4K
 
+[variables]
+$sut_mac0=@@dst_mac0
+$sut_mac1=@@dst_mac1
+$sut_mac2=@@dst_mac2
+$sut_mac3=@@dst_mac3
+$qinq_tag_inline="88 a8"
+
 [global]
 start time=5
-name=ACL gen
+name=Basic ACL Gen x4
+
 [core 0]
 mode=master
 
@@ -45,7 +62,7 @@ mode=gen
 tx port=p0
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline= 00 00 00 00 00 01 70 00 00 00 00 01 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -65,7 +82,6 @@ rand_offset=23
 ; dport: [0..511]
 random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
-lat pos=50
 
 [core 2]
 name=p1
@@ -74,7 +90,7 @@ mode=gen
 tx port=p1
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline=00 00 00 00 00 02 70 00 00 00 00 02 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac1} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -94,16 +110,15 @@ rand_offset=23
 ; dport: [0..511]
 random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
-lat pos=50
 
 [core 3]
 name=p2
 task=0
 mode=gen
-tx port=p2
+tx port=p1
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline=00 00 00 00 00 03 70 00 00 00 00 03 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac2} 70 00 00 00 00 02 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -123,7 +138,6 @@ rand_offset=23
 ; dport: [0..511]
 random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
-lat pos=50
 
 [core 4]
 name=p3
@@ -132,7 +146,7 @@ mode=gen
 tx port=p3
 bps=625000000
 ; Ethernet + QinQ + IP + UDP
-pkt inline=00 00 00 00 00 04 70 00 00 00 00 04 88 a8 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
+pkt inline=${sut_mac3} 70 00 00 00 00 04 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
 ; svlan: [0,1]
 random=000000000000000X
 rand_offset=14
@@ -152,4 +166,27 @@ rand_offset=23
 ; dport: [0..511]
 random=000000000000XXX00000000XXXXXXXXX
 rand_offset=42
-lat pos=50
+
+[core 5]
+name=rec 0
+task=0
+mode=lat
+rx port=p0
+
+[core 6]
+name=rec 1
+task=0
+mode=lat
+rx port=p1
+
+[core 7]
+name=rec 2
+task=0
+mode=lat
+rx port=p2
+
+[core 8]
+name=rec 3
+task=0
+mode=lat
+rx port=p3
diff --git a/samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-2.cfg b/samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-2.cfg
new file mode 100644 (file)
index 0000000..c1939c0
--- /dev/null
@@ -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.
+#
+#;
+
+[eal options]
+-n=4 ; force number of memory channels
+no-output=no ; disable DPDK debug output
+
+[variables]
+$sut_mac0=@@dst_mac0
+$sut_mac1=@@dst_mac1
+
+[port 0]
+name=p0
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[port 1]
+name=p1
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[defaults]
+mempool size=4K
+
+[global]
+start time=5
+name=Basic Gen
+
+[core 0]
+mode=master
+
+[core 1]
+name=p0
+task=0
+mode=gen
+tx port=p0
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac0} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 64 01 98 10 64 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.100.0/8
+random=0000XXX1
+rand_offset=29
+; dst_ip: 152.16.100.0/8
+random=0000XXX0
+rand_offset=33
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+[core 2]
+name=p1
+task=0
+mode=gen
+tx port=p1
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac1} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 28 01 98 10 28 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.40.0/8
+random=1001100000010000001010000000XXXX
+rand_offset=26
+; dst_ip: 152.16.40.0/8
+random=1001100000010000001010000000XXXX
+rand_offset=30
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+
+[core 3]
+name=rec 0
+task=0
+mode=lat
+rx port=p0
+lat pos=42
+
+[core 4]
+name=rec 1
+task=0
+mode=lat
+rx port=p1
+lat pos=42
diff --git a/samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-4.cfg b/samples/vnf_samples/nsut/prox/configs/gen_l2fwd_multiflow-4.cfg
new file mode 100644 (file)
index 0000000..f1e1584
--- /dev/null
@@ -0,0 +1,147 @@
+# 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.
+#
+#;
+
+[eal options]
+-n=4 ; force number of memory channels
+no-output=no ; disable DPDK debug output
+
+[variables]
+$sut_mac0=@@dst_mac0
+$sut_mac1=@@dst_mac1
+$sut_mac2=@@dst_mac2
+$sut_mac3=@@dst_mac3
+
+[port 0]
+name=p0
+mac=hardware
+promiscuous=yes
+
+[port 1]
+name=p1
+mac=hardware
+promiscuous=yes
+
+[port 2]
+name=p2
+mac=hardware
+promiscuous=yes
+
+[port 3]
+name=p3
+mac=hardware
+promiscuous=yes
+
+[defaults]
+mempool size=4K
+
+[global]
+start time=5
+name=Basic Gen
+
+[core 0]
+mode=master
+
+[core 1]
+name=p0
+task=0
+mode=gen
+tx port=p0
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac0} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 64 01 98 10 64 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.100.0/8
+random=0000XXX1
+rand_offset=29
+; dst_ip: 152.16.100.0/8
+random=0000XXX0
+rand_offset=33
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+[core 2]
+name=p1
+task=0
+mode=gen
+tx port=p1
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac1} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 64 01 98 10 64 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.100.0/8
+random=0000XXX1
+rand_offset=29
+; dst_ip: 152.16.100.0/8
+random=0000XXX0
+rand_offset=33
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+[core 3]
+name=p2
+task=0
+mode=gen
+tx port=p2
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac2} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 64 01 98 10 64 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.100.0/8
+random=0000XXX1
+rand_offset=29
+; dst_ip: 152.16.100.0/8
+random=0000XXX0
+rand_offset=33
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+[core 4]
+name=p3
+task=0
+mode=gen
+tx port=p3
+bps=1250000000
+; Ethernet + IP + UDP
+pkt inline=${sut_mac3} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 98 10 64 01 98 10 64 02 13 88 13 88 00 08 55 7b
+; src_ip: 152.16.100.0/8
+random=0000XXX1
+rand_offset=29
+; dst_ip: 152.16.100.0/8
+random=0000XXX0
+rand_offset=33
+random=0001001110001XXX0001001110001XXX
+rand_offset=34
+
+[core 5]
+name=rec 0
+task=0
+mode=lat
+rx port=p0
+
+[core 6]
+name=rec 1
+task=0
+mode=lat
+rx port=p1
+
+[core 7]
+name=rec 2
+task=0
+mode=lat
+rx port=p2
+
+[core 8]
+name=rec 3
+task=0
+mode=lat
+rx port=p3
diff --git a/samples/vnf_samples/nsut/prox/configs/gen_lb-4.cfg b/samples/vnf_samples/nsut/prox/configs/gen_lb-4.cfg
new file mode 100644 (file)
index 0000000..4ac4f94
--- /dev/null
@@ -0,0 +1,105 @@
+# 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.
+#
+#;
+
+[eal options]
+-n=4 ; force number of memory channels
+no-output=no ; disable DPDK debug output
+
+[variables]
+$sut_mac0=@@dst_mac0
+
+[port 0]
+name=p0
+mac=hardware
+rx desc=4096
+tx desc=4096
+promiscuous=yes
+
+[port 1]
+name=p1
+mac=hardware
+rx desc=4096
+tx desc=1024
+promiscuous=yes
+
+[port 2]
+name=p2
+mac=hardware
+rx desc=4096
+tx desc=1024
+promiscuous=yes
+
+[port 3]
+name=p3
+mac=hardware
+rx desc=4096
+tx desc=1024
+promiscuous=yes
+
+[defaults]
+mempool size=16K
+
+[global]
+start time=5
+name=Gen Load Balancing
+
+[core 0]
+mode=master
+
+[core 1]
+name=p0
+task=0
+mode=gen
+tx port=p0
+bps=1250000000
+; Ethernet + IP + pseudo-UDP
+pkt inline=${sut_mac0} 70 00 00 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d 00 00 00 01 00 00 00 02 13 88 13 88 00 08 55 7b
+; src_ip: 10.x.x.x
+random=101000000000XXXX0000XXXX000XXXXX
+rand_offset=26
+; dst_ip: 10.x.x.x
+random=101000000000XXXX0000XXXX000XXXXX
+rand_offset=30
+; sport: [0..31]
+; dport: [0..31]
+random=00000000000XXXXX00000000000XXXXX
+rand_offset=34
+
+[core 2]
+name=p0
+task=0
+mode=nop
+rx port=p0
+
+[core 3]
+name=p1
+task=0
+mode=nop
+rx port=p1
+
+[core 4]
+name=p2
+task=0
+mode=nop
+rx port=p2
+
+[core 5]
+name=p3
+task=0
+mode=nop
+rx port=p3
+
+
index 7213a60..3b58bcf 100644 (file)
@@ -1,17 +1,18 @@
-; 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.
-
+# 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.
+#
+#;
 
 [lua]
 acl_table = dofile("acl_rules-2.lua")
@@ -25,20 +26,24 @@ name=if0
 mac=hardware
 rx desc=2048
 tx desc=2048
+promiscuous=yes
+
 [port 1]
 name=if1
 mac=hardware
 rx desc=2048
 tx desc=2048
+promiscuous=yes
+
 
 [defaults]
 mempool size=65K
 memcache size=512
-qinq tag=0xa888
+qinq tag="0xa888"
 
 [global]
 start time=5
-name=ACL handle
+name=ACL handle x2
 
 [core 0]
 task=0
@@ -54,10 +59,11 @@ rx port=if0
 tx cores=1t1
 drop=no
 
+name=l2fwd_if0
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:01
 rx ring=yes
+dst mac=@@tester_p0
 tx port=if0
 drop=no
 
@@ -71,10 +77,11 @@ rx port=if1
 tx cores=2t1
 drop=no
 
+name=l2fwd_if1
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:02
 rx ring=yes
+dst mac=@@tester_p1
 tx port=if1
 drop=no
 
index 51a1f8f..88551b2 100644 (file)
@@ -43,11 +43,11 @@ tx desc=2048
 [defaults]
 mempool size=65K
 memcache size=512
-qinq tag=0xa888
+qinq tag="0xa888"
 
 [global]
 start time=5
-name=ACL handle
+name=ACL handle x4
 
 [core 0]
 task=0
@@ -63,10 +63,11 @@ rx port=if0
 tx cores=1t1
 drop=no
 
+name=l2fwd_if0
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:01
 rx ring=yes
+dst mac=@@tester_p0
 tx port=if0
 drop=no
 
@@ -80,10 +81,11 @@ rx port=if1
 tx cores=2t1
 drop=no
 
+name=l2fwd_if1
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:02
 rx ring=yes
+dst mac=@@tester_p1
 tx port=if1
 drop=no
 
@@ -97,10 +99,11 @@ rx port=if2
 tx cores=3t1
 drop=no
 
+name=l2fwd_if2
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:03
 rx ring=yes
+dst mac=@@tester_p2
 tx port=if2
 drop=no
 
@@ -114,9 +117,10 @@ rx port=if3
 tx cores=4t1
 drop=no
 
+name=l2fwd_if3
 task=1
 mode=l2fwd
-dst mac=00:00:00:00:00:04
 rx ring=yes
+dst mac=@@tester_p3
 tx port=if3
 drop=no
diff --git a/samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-2.cfg b/samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-2.cfg
new file mode 100644 (file)
index 0000000..d4a4c89
--- /dev/null
@@ -0,0 +1,62 @@
+# 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.
+#
+#;
+
+[eal options]
+-n=4
+no-output=no ; disable DPDK debug output
+
+[port 0]
+name=if0
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[port 1]
+name=if1
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[defaults]
+mempool size=8K
+memcache size=512
+
+[global]
+start time=5
+name=Handle L2FWD Multiflow (2x)
+
+[core 0]
+mode=master
+
+[core 1]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac1
+rx port=if0
+tx port=if1
+drop=no
+
+[core 2]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac0
+rx port=if1
+tx port=if0
+drop=no
diff --git a/samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-4.cfg b/samples/vnf_samples/nsut/prox/configs/handle_l2fwd_multiflow-4.cfg
new file mode 100644 (file)
index 0000000..39dbda4
--- /dev/null
@@ -0,0 +1,88 @@
+# 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.
+#
+#;
+
+[eal options]
+-n=4
+no-output=no ; disable DPDK debug output
+
+[port 0]
+name=if0
+mac=hardware
+rx desc=2048
+tx desc=2048
+[port 1]
+name=if1
+mac=hardware
+rx desc=2048
+tx desc=2048
+[port 2]
+name=if2
+mac=hardware
+rx desc=2048
+tx desc=2048
+[port 3]
+name=if3
+mac=hardware
+rx desc=2048
+tx desc=2048
+
+[defaults]
+mempool size=8K
+memcache size=512
+
+[global]
+start time=5
+name=Handle L2FWD Multiflow (4x)
+
+[core 0]
+mode=master
+
+[core 1]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac0
+rx port=if0
+tx port=if1
+drop=no
+
+[core 2]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac1
+rx port=if1
+tx port=if0
+drop=no
+
+[core 3]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac2
+rx port=if2
+tx port=if3
+drop=no
+
+[core 4]
+name=none
+task=0
+mode=l2fwd
+dst mac=@@tester_mac3
+rx port=if3
+tx port=if2
+drop=no
+
diff --git a/samples/vnf_samples/nsut/prox/configs/handle_lb-4.cfg b/samples/vnf_samples/nsut/prox/configs/handle_lb-4.cfg
new file mode 100644 (file)
index 0000000..b85e00b
--- /dev/null
@@ -0,0 +1,107 @@
+# 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.
+#
+#;
+
+[eal options]
+-n=4
+no-output=no ; disable DPDK debug output
+
+[lua]
+dofile("tuples.lua")
+
+[port 0]
+name=if0
+mac=hardware
+rx desc=4096
+tx desc=2048
+promiscuous=yes
+
+[port 1]
+name=if1
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[port 2]
+name=if2
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[port 3]
+name=if3
+mac=hardware
+rx desc=2048
+tx desc=2048
+promiscuous=yes
+
+[defaults]
+mempool size=13K
+memcache size=512
+mempool size=16K
+
+[global]
+start time=5
+name=Handle 5 Tuple Load Balance 1-to-4
+
+[core 0]
+mode=master
+
+[core 1]
+name=Handle_LB
+task=0
+mode=lb5tuple
+rx port=if0
+tx cores=2,3,4,5
+drop=no
+
+[core 2]
+name=TX_p0
+task=0
+mode=l2fwd
+dst mac=@@p0
+rx ring=yes
+tx port=if0
+drop=no
+
+[core 3]
+name=TX_p1
+task=0
+mode=l2fwd
+dst mac=@@p1
+rx ring=yes
+tx port=if1
+drop=no
+
+[core 4]
+name=TX_p2
+task=0
+mode=l2fwd
+dst mac=@@p2
+rx ring=yes
+tx port=if2
+drop=no
+
+[core 5]
+name=TX_p3
+task=0
+mode=l2fwd
+dst mac=@@p3
+rx ring=yes
+tx port=if3
+drop=no
+
diff --git a/samples/vnf_samples/nsut/prox/configs/tuples.lua b/samples/vnf_samples/nsut/prox/configs/tuples.lua
new file mode 100644 (file)
index 0000000..4311250
--- /dev/null
@@ -0,0 +1,45 @@
+--
+-- Dataplane Automated Testing System
+--
+-- Copyright (c) 2015-2017, Intel Corporation.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+--
+--   * Redistributions of source code must retain the above copyright
+--     notice, this list of conditions and the following disclaimer.
+--   * Redistributions in binary form must reproduce the above copyright
+--     notice, this list of conditions and the following disclaimer in
+--     the documentation and/or other materials provided with the
+--     distribution.
+--   * Neither the name of Intel Corporation nor the names of its
+--     contributors may be used to endorse or promote products derived
+--     from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--
+
+tuples = {};
+
+for i = 0,2^23-1 do
+    tuples[i] = {if_out = i%4,
+                ip_src = i%2^5,
+                ip_dst = ((i-i%2^5)/2^5)%2^5,
+                port_src = ((i-i%2^10)/2^10)%2^5,
+                port_dst = ((i-i%2^15)/2^15)%2^5,
+                proto = ((i-i%2^20)/2^20)%2^3 * 2^5,
+            }
+end
+
index 4695f0b..73fea81 100644 (file)
@@ -22,9 +22,9 @@ scenarios:
   topology: ../../acl-tg-topology-http.yaml
 
   nodes:
-    vnf__1: vnf.yardstick
-    tg__1: trafficgen_1.yardstick
-    tg__2: trafficgen_2.yardstick
+    vnf__0: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    tg__1: trafficgen_2.yardstick
 
   options:
     acl:
index f08289d..0ca0005 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 92f3678..d51b42f 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index bc6ea4d..37da8e6 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 05bf56f..cbe3e97 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index d560f56..707b46e 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 68fdf96..b1003df 100644 (file)
@@ -19,9 +19,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index b65d9d9..10902a7 100644 (file)
@@ -20,30 +20,30 @@ nsd:nsd-catalog:
         description: prox-tg-topology
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_prox_tpl-1.yaml
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/prox_vnf-1.yaml
         vld:
-        -   id: private
-            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
-            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: '1'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: vnf__1
+                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: tg__1
+                vnfd-id-ref: tg__0
index dc19136..11eed52 100644 (file)
@@ -20,30 +20,30 @@ nsd:nsd-catalog:
         description: prox-tg-topology
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_prox_tpl-2.yaml
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/prox_vnf-2.yaml
         vld:
-        -   id: private
-            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
-            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: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: vnf__1
+                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1
+                vnfd-id-ref: tg__0
index 17fe403..eda239e 100644 (file)
@@ -20,50 +20,50 @@ nsd:nsd-catalog:
         description: prox-tg-topology
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_prox_tpl-4.yaml
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/prox_vnf-4.yaml
         vld:
-        -   id: private
-            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
-            name: vnf__1 to tg__1 link 2
+        -   id: downlink_0
+            name: vnf__0 to tg__0 link 1
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: vnf__1
+                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1
-        -   id: public2
-            name: vnf__1 to tg__1 link 3
+                vnfd-id-ref: tg__0
+        -   id: downlink_1
+            name: vnf__0 to tg__0 link 2
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe2
-                vnfd-id-ref: vnf__1
+                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe2
-                vnfd-id-ref: tg__1
-        -   id: public3
-            name: vnf__1 to tg__1 link 4
+                vnfd-id-ref: tg__0
+        -   id: downlink_2
+            name: vnf__0 to tg__0 link 3
             type: ELAN
             vnfd-connection-point-ref:
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe3
-                vnfd-id-ref: vnf__1
+                vnfd-id-ref: vnf__0
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe3
-                vnfd-id-ref: tg__1
+                vnfd-id-ref: tg__0
index b98ffc5..15892b8 100644 (file)
@@ -17,9 +17,9 @@ scenarios:
   topology: ../../acl-tg-topology-http.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:
     acl:
index bc7891e..1238ed4 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index e3a105b..059a650 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 6d89fee..b6aa48a 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 571f4f4..baa4b59 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index c708465..5901506 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 0267197..517dd90 100644 (file)
@@ -14,9 +14,9 @@ scenarios:
   traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
   topology: ../../acl-tg-topology.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
   tc_options:
     rfc2544:
       allowed_drop_rate: 0.8 - 1
index 7ced79c..fe91f3d 100644 (file)
@@ -18,22 +18,31 @@ schema: "yardstick:task:0.1"
 scenarios:
 -
   type: NSPerf
-  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  #
+  # In case where we know that all the packets generated by the generator
+  # will bw received. Then use prox_binsearch.
+  #
+  # In the case where some or all the packets generated by the generator may
+  # not be received. Please use prox_acl .. (This generates packets at
+  # a specific rate and does not change rate.
+  #
+  traffic_profile: ../../traffic_profiles/prox_acl.yaml
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_acl-2.cfg"
       prox_args:
         "-t": ""
-      prox_files: "configs/acl_rules-2.lua"
+      prox_files:
+        "configs/acl_rules-2.lua": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_acl-2.cfg"
       prox_args:
@@ -43,10 +52,10 @@ scenarios:
   runner:
     type: Duration
     # we kill after duration, independent of test duration, so set this high
-    duration: 100
+    duration: 500
 
 context:
   type: Node
   name: yardstick
   nfvi_type: baremetal
-  file: prox-baremetal-2.yml
+  file: /etc/prox-baremetal-2.yml
index e9def4c..e908dd9 100644 (file)
@@ -18,22 +18,31 @@ schema: "yardstick:task:0.1"
 scenarios:
 -
   type: NSPerf
-  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  #
+  # In case where we know that all the packets generated by the generator
+  # will bw received. Then use prox_binsearch.
+  #
+  # In the case where some or all the packets generated by the generator may
+  # not be received. Please use prox_acl .. (This generates packets at
+  # a specific rate and does not change rate.
+  #
+  traffic_profile: ../../traffic_profiles/prox_acl.yaml
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_acl-4.cfg"
       prox_args:
         "-t": ""
-      prox_files: "configs/acl_rules-2.lua"
+      prox_files:
+        "configs/acl_rules-2.lua": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_acl-4.cfg"
       prox_args:
@@ -43,10 +52,10 @@ scenarios:
   runner:
     type: Duration
     # we kill after duration, independent of test duration, so set this high
-    duration: 100
+    duration: 300
 
 context:
   type: Node
   name: yardstick
   nfvi_type: baremetal
-  file: prox-baremetal-4.yml
+  file: /etc/prox-baremetal-4.yml
index 0173fdc..4cc3836 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/handle_none-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/gen_all-2.cfg"
       prox_args:
index 6344b41..7b28a92 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-1.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_buffering-1.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_buffering-1.cfg"
       prox_args:
index d4672e8..49a079a 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd-2.cfg"
       prox_args:
index e6bcac4..a0aec01 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd-4.cfg"
       prox_args:
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-2.yaml b/samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-2.yaml
new file mode 100644 (file)
index 0000000..0626c07
--- /dev/null
@@ -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.
+
+---
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: NSPerf
+  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  topology: prox-tg-topology-2.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/handle_l2fwd_multiflow-2.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/gen_l2fwd_multiflow-2.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 300
+
+context:
+  type: Node
+  name: yardstick
+  nfvi_type: baremetal
+  file: /etc/prox-baremetal-2.yml
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-4.yaml b/samples/vnf_samples/nsut/prox/tc_prox_baremetal_l2fwd_multiflow-4.yaml
new file mode 100644 (file)
index 0000000..c429a44
--- /dev/null
@@ -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.
+
+---
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: NSPerf
+  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/handle_l2fwd_multiflow-4.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/gen_l2fwd_multiflow-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 300
+
+context:
+  type: Node
+  name: yardstick
+  nfvi_type: baremetal
+  file: /etc/prox-baremetal-4.yml
index 9ebfceb..101fb9d 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd_pktTouch-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd_pktTouch-2.cfg"
       prox_args:
index e8ba5ef..5bc2287 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd_pktTouch-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd_pktTouch-4.cfg"
       prox_args:
index f6dc731..b3ed8bb 100644 (file)
@@ -22,11 +22,11 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l3fwd-2.cfg"
       prox_args:
@@ -34,7 +34,7 @@ scenarios:
       prox_files:
         "configs/ipv4.lua" : ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l3fwd-2.cfg"
       prox_args:
index 4d37f39..9d50566 100644 (file)
@@ -22,11 +22,11 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l3fwd-4.cfg"
       prox_args:
@@ -34,7 +34,7 @@ scenarios:
       prox_files:
         "configs/ipv4.lua" : ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l3fwd-4.cfg"
       prox_args:
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_baremetal_lb-4.yaml b/samples/vnf_samples/nsut/prox/tc_prox_baremetal_lb-4.yaml
new file mode 100644 (file)
index 0000000..9852fd8
--- /dev/null
@@ -0,0 +1,58 @@
+# 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
+
+  # This is a special traffic profile for Load Balancer
+  # Because what is transmitted for 1 port is distributed to the other ports evenly
+  # Only 1/4 of the transmiited packets is expected back. So this tolerates a much
+  # packet loss. 
+  traffic_profile: ../../traffic_profiles/prox_lb.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/handle_lb-4.cfg"
+      prox_args:
+        "-t": ""
+      prox_files:
+        "configs/tuples.lua": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/gen_lb-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 100
+
+context:
+  type: Node
+  name: yardstick
+  nfvi_type: baremetal
+  file: /etc/prox-baremetal-4.yml
index 59f2795..2994ee3 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_mpls_tag_untag-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_mpls_tag_untag-2.cfg"
       prox_args:
index 11db293..6ed8aed 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_mpls_tag_untag-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_mpls_tag_untag-4.cfg"
       prox_args:
index c21266c..fc28b92 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/handle_none-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/gen_all-2.cfg"
       prox_args:
index 67552ec..1307b68 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/l3-swap-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v035/build/prox
       prox_config: "configs/l3-gen-2.cfg"
       prox_args:
@@ -46,7 +46,7 @@ scenarios:
 
 context:
   name: yardstick
-  image: yardstick-image-prox-dpdk1702
+  image: yardstick-samplevnfs
   user: ubuntu
   flavor:
 #    name: yardstick-dpdk-flavor
@@ -63,20 +63,17 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
index 5310a5c..52ebe8c 100644 (file)
@@ -18,23 +18,32 @@ schema: "yardstick:task:0.1"
 scenarios:
 -
   type: NSPerf
-  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  #
+  # In case where we know that all the packets generated by the generator
+  # will bw received. Then use prox_binsearch.
+  #
+  # In the case where some or all the packets generated by the generator may
+  # not be received. Please use prox_heat_acl .. (This generates packets at
+  # a specific rate and does not change rate.
+  #
+  traffic_profile: ../../traffic_profiles/prox_heat_acl.yaml
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
-      prox_path: /root/dppd-PROX-v037/build/prox
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/handle_acl-2.cfg"
       prox_args:
         "-t": ""
-      prox_files: "configs/acl_rules-2.lua"
+      prox_files:
+        "configs/acl_rules-2.lua" : ""
 
-    tg__1:
-      prox_path: /root/dppd-PROX-v037/build/prox
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/gen_acl-2.cfg"
       prox_args:
         "-e": ""
@@ -43,20 +52,19 @@ scenarios:
   runner:
     type: Duration
     # we kill after duration, independent of test duration, so set this high
-    duration: 100
+    duration: 300
 
 context:
   name: yardstick
-  image: yardstick-image-prox-dpdk1702
+  image: yardstick-samplevnfs
   user: ubuntu
   flavor:
-    name: yardstick-dpdk-flavor
-    vcpus: 3
+    vcpus: 10
     ram: 20480
-    disk: 4
+    disk: 6
     extra_specs:
       hw:cpu_sockets: 1
-      hw:cpu_cores: 3
+      hw:cpu_cores: 10
       hw:cpu_threads: 1
 #      hw:mem_page_size: large
   placement_groups:
@@ -64,27 +72,24 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
-      allowed_address_pairs:
-        - ip_address:
-            '0.0.0.0/0'
-    xe1:
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
-      allowed_address_pairs:
-        - ip_address:
-            '0.0.0.0/0'
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
 
index 5ed9673..06afa35 100644 (file)
@@ -18,22 +18,30 @@ schema: "yardstick:task:0.1"
 scenarios:
 -
   type: NSPerf
-  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  #
+  # In case where we know that all the packets generated by the generator
+  # will bw received. Then use prox_binsearch.
+  #
+  # In the case where some or all the packets generated by the generator may
+  # not be received. Please use prox_heat_acl .. (This generates packets at
+  # a specific rate and does not change rate.
+  #
+  traffic_profile: ../../traffic_profiles/prox_heat_acl.yaml
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_acl-4.cfg"
       prox_args:
         "-t": ""
       prox_files: "configs/acl_rules-2.lua"
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_acl-4.cfg"
       prox_args:
@@ -43,20 +51,19 @@ scenarios:
   runner:
     type: Duration
     # we kill after duration, independent of test duration, so set this high
-    duration: 100
+    duration: 300
 
 context:
   name: yardstick
-  image: yardstick-image-prox-dpdk1702
+  image: yardstick-samplevnfs
   user: ubuntu
   flavor:
-    name: yardstick-dpdk-flavor
-    vcpus: 5
+    vcpus: 10
     ram: 20480
     disk: 4
     extra_specs:
       hw:cpu_sockets: 1
-      hw:cpu_cores: 5
+      hw:cpu_cores: 10
       hw:cpu_threads: 1
 #      hw:mem_page_size: large
   placement_groups:
@@ -64,38 +71,33 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe2:
+    uplink_1:
       cidr: '10.0.4.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe3:
+    downlink_1:
       cidr: '10.0.5.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
index 43742c3..ab4c3a9 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-1.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_buffering-1.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_buffering-1.cfg"
       prox_args:
@@ -61,20 +61,18 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-2-l3fwd-2.yaml b/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-2-l3fwd-2.yaml
new file mode 100644 (file)
index 0000000..af98984
--- /dev/null
@@ -0,0 +1,115 @@
+# 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/prox_binsearch.yaml
+  topology: prox-tg-topology-2.yaml
+
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/handle_l2fwd-2.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/gen_l2fwd-2.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Search
+    # we kill after duration, independent of test duration, so set this high
+    interval: 5
+    timeout: 300
+-
+  type: NSPerf
+  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  topology: prox-tg-topology-2.yaml
+
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/handle_l3fwd-2.cfg"
+      prox_args:
+        "-t": ""
+      prox_files:
+        "configs/ipv4-2.lua" : ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/gen_l3fwd-2.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Search
+    # we kill after duration, independent of test duration, so set this high
+    interval: 5
+    timeout: 300
+
+context:
+  name: yardstick
+  image: yardstick-samplevnfs
+  user: ubuntu
+  flavor: yardstick-dpdk-flavor
+#  flavor:
+#    vcpus: 10
+#    ram: 12288
+#    disk: 6
+#    extra_specs:
+#      hw:cpu_sockets: 1
+#      hw:cpu_cores: 10
+#      hw:cpu_threads: 1
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    vnf_0:
+      floating_ip: true
+      placement: "pgrp1"
+    tg_0:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+    uplink_0:
+      cidr: '10.1.1.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    downlink_0:
+      cidr: '10.1.1.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
index 270ff04..2080935 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd-2.cfg"
       prox_args:
@@ -61,21 +61,24 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-    xe0:
+    uplink_0:
       cidr: '10.1.1.0/24'
       gateway_ip: 'null'
       port_security_enabled: False
-    xe1:
+      enable_dhcp: 'false'
+    downlink_0:
       cidr: '10.1.1.0/24'
       gateway_ip: 'null'
       port_security_enabled: False
+      enable_dhcp: 'false'
+
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-4-l3fwd-4.yaml b/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd-4-l3fwd-4.yaml
new file mode 100644 (file)
index 0000000..b5b98ea
--- /dev/null
@@ -0,0 +1,124 @@
+# 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/prox_binsearch.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/handle_l3fwd-4.cfg"
+      prox_args:
+        "-t": ""
+      prox_files:
+        "configs/ipv4.lua" : ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/gen_l3fwd-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Search
+    interval: 5
+    timeout: 300
+
+-
+  type: NSPerf
+  traffic_profile: ../../traffic_profiles/prox_binsearch.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/handle_l2fwd-4.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037/build/prox
+      prox_config: "configs/gen_l2fwd-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Search
+    interval: 5
+    timeout: 300
+
+context:
+  name: yardstick
+  image: yardstick-samplevnfs
+  user: ubuntu
+  flavor: yardstick-dpdk-flavor
+#  flavor:
+#    vcpus: 10
+#    ram: 20480
+#    disk: 4
+#    extra_specs:
+#      hw:cpu_sockets: 1
+#      hw:cpu_cores: 10
+#      hw:cpu_threads: 1
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    vnf_0:
+      floating_ip: true
+      placement: "pgrp1"
+    tg_0:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+    uplink_0:
+      cidr: '10.0.2.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    downlink_0:
+      cidr: '10.0.3.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    uplink_1:
+      cidr: '10.0.4.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    downlink_1:
+      cidr: '10.0.5.0/24'
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
index 0650a09..4300617 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd-4.cfg"
       prox_args:
@@ -61,37 +61,33 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe2:
+    uplink_1:
       cidr: '10.0.4.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe3:
+    downlink_1:
       cidr: '10.0.5.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-2.yaml b/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-2.yaml
new file mode 100644 (file)
index 0000000..f7f962f
--- /dev/null
@@ -0,0 +1,86 @@
+# 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/prox_binsearch.yaml
+  topology: prox-tg-topology-2.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/handle_l2fwd_multiflow-2.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/gen_l2fwd_multiflow-2.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 300
+
+context:
+  name: yardstick
+  image: yardstick-samplevnfs
+  user: ubuntu
+  flavor:
+    vcpus: 8
+    ram: 20480
+    disk: 10
+    extra_specs:
+      hw:cpu_sockets: 1
+      hw:cpu_cores: 8
+      hw:cpu_threads: 1
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    vnf:
+      floating_ip: true
+      placement: "pgrp1"
+    trafficgen_1:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+      external_network: "yardstick-public"
+    xe0:
+      cidr: '152.16.100.0/24'
+      vld_id: downlink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe1:
+      cidr: '152.16.40.0/24'
+      vld_id: uplink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-4.yaml b/samples/vnf_samples/nsut/prox/tc_prox_heat_context_l2fwd_multiflow-4.yaml
new file mode 100644 (file)
index 0000000..798b103
--- /dev/null
@@ -0,0 +1,98 @@
+# 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/prox_binsearch.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/handle_l2fwd_multiflow-4.cfg"
+      prox_args:
+        "-t": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/gen_l2fwd_multiflow-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 300
+
+context:
+  name: yardstick
+  image: yardstick-samplevnfs
+  user: ubuntu
+  flavor:
+    vcpus: 12
+    ram: 20480
+    disk: 10
+    extra_specs:
+      hw:cpu_sockets: 1
+      hw:cpu_cores: 12
+      hw:cpu_threads: 1
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    vnf:
+      floating_ip: true
+      placement: "pgrp1"
+    trafficgen_1:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+      external_network: "yardstick-public"
+    xe0:
+      cidr: '152.16.100.0/24'
+      vld_id: downlink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe1:
+      cidr: '152.16.40.0/24'
+      vld_id: uplink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe2:
+      cidr: '152.16.101.0/24'
+      vld_id: downlink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe3:
+      cidr: '152.16.41.0/24'
+      vld_id: uplink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
index 20cf43d..2ed7eeb 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd_pktTouch-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd_pktTouch-2.cfg"
       prox_args:
@@ -61,25 +61,23 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
index 570bdd0..e85a411 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_l2fwd_pktTouch-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_l2fwd_pktTouch-4.cfg"
       prox_args:
@@ -61,37 +61,33 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe2:
+    uplink_1:
       cidr: '10.0.4.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe3:
+    downlink_1:
       cidr: '10.0.5.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
index 068f0a2..0731be5 100644 (file)
@@ -22,11 +22,11 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/handle_l3fwd-2.cfg"
       prox_args:
@@ -34,7 +34,7 @@ scenarios:
       prox_files:
         "configs/ipv4.lua" : ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/gen_l3fwd-2.cfg"
       prox_args:
@@ -64,26 +64,23 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
\ No newline at end of file
index d51cd31..fc24db5 100644 (file)
@@ -22,11 +22,11 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/handle_l3fwd-4.cfg"
       prox_args:
@@ -34,7 +34,7 @@ scenarios:
       prox_files:
         "configs/ipv4.lua" : ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037.1/build/prox
       prox_config: "configs/gen_l3fwd-4.cfg"
       prox_args:
@@ -64,38 +64,33 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe2:
+    uplink_1:
       cidr: '10.0.4.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe3:
+    downlink_1:
       cidr: '10.0.5.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
\ No newline at end of file
diff --git a/samples/vnf_samples/nsut/prox/tc_prox_heat_context_lb-4.yaml b/samples/vnf_samples/nsut/prox/tc_prox_heat_context_lb-4.yaml
new file mode 100644 (file)
index 0000000..95232f6
--- /dev/null
@@ -0,0 +1,101 @@
+# 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/prox_lb.yaml
+  topology: prox-tg-topology-4.yaml
+
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+
+  options:
+    vnf__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/handle_lb-4.cfg"
+      prox_args:
+        "-t": ""
+      prox_files:
+        "configs/tuples.lua": ""
+
+    tg__0:
+      prox_path: /root/dppd-PROX-v037.1/build/prox
+      prox_config: "configs/gen_lb-4.cfg"
+      prox_args:
+        "-e": ""
+        "-t": ""
+
+  runner:
+    type: Duration
+    # we kill after duration, independent of test duration, so set this high
+    duration: 300
+
+context:
+  name: yardstick
+  image: yardstick-samplevnfs
+  user: ubuntu
+  flavor:
+    vcpus: 12
+    ram: 40960
+    disk: 4
+    extra_specs:
+      hw:cpu_sockets: 1
+      hw:cpu_cores: 12
+      hw:cpu_threads: 1
+  
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+
+  servers:
+    vnf:
+      floating_ip: true
+      placement: "pgrp1"
+    trafficgen_1:
+      floating_ip: true
+      placement: "pgrp1"
+
+  networks:
+    mgmt:
+      cidr: '10.1.1.0/24'
+    xe0:
+      cidr: '10.2.1.0/24'
+      vld_id: downlink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe1:
+      cidr: '10.2.1.0/24'
+      vld_id: uplink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe2:
+      cidr: '10.2.1.0/24'
+      vld_id: downlink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+    xe3:
+      cidr: '10.2.1.0/24'
+      vld_id: uplink
+      allowed_address_pairs:
+        - ip_address:
+            '0.0.0.0/0'
+
index 0f71195..fe8237e 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-2.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_mpls_tag_untag-2.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_mpls_tag_untag-2.cfg"
       prox_args:
@@ -62,26 +62,23 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
index 4b3bd78..ca1b65c 100644 (file)
@@ -22,17 +22,17 @@ scenarios:
   topology: prox-tg-topology-4.yaml
 
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
 
   options:
-    vnf__1:
+    vnf__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/handle_mpls_tag_untag-4.cfg"
       prox_args:
         "-t": ""
 
-    tg__1:
+    tg__0:
       prox_path: /root/dppd-PROX-v037/build/prox
       prox_config: "configs/gen_mpls_tag_untag-4.cfg"
       prox_args:
@@ -62,38 +62,33 @@ context:
       policy: "availability"
 
   servers:
-    vnf:
+    vnf_0:
       floating_ip: true
       placement: "pgrp1"
-    trafficgen_1:
+    tg_0:
       floating_ip: true
       placement: "pgrp1"
 
   networks:
     mgmt:
       cidr: '10.0.1.0/24'
-      external_network: "yardstick-public"
-    xe0:
+    uplink_0:
       cidr: '10.0.2.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe1:
+    downlink_0:
       cidr: '10.0.3.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe2:
+    uplink_1:
       cidr: '10.0.4.0/24'
-      vld_id: public
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
-    xe3:
+    downlink_1:
       cidr: '10.0.5.0/24'
-      vld_id: private
       allowed_address_pairs:
         - ip_address:
             '0.0.0.0/0'
index 8640df9..78e92ce 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
   topology: udp_replay-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}
     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:
       nfvi_enable: True
   runner:
     type: Iteration
index 09a20c3..c8654a5 100644 (file)
@@ -19,14 +19,14 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: udp_replay-vnf-topology.yaml
   nodes:
-    tg__1: trafficgen_1.yardstick
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
   options:
     packetsize: 64
     traffic_type: 4
-    vnf__1:
+    vnf__0:
        hw_csum: false
-    tg__1:
+    tg__0:
        hw_csum: false
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
@@ -67,13 +67,13 @@ context:
       cidr: '10.0.1.0/24'
     xe0:
       cidr: '10.0.2.0/24'
-      vld_id: public
+      vld_id: downlink
       enable_dhcp: False
       gateway_ip: null
       port_security_enabled: False
     xe1:
       cidr: '10.0.3.0/24'
-      vld_id: private
+      vld_id: uplink
       enable_dhcp: False
       gateway_ip: null
       port_security_enabled: False
index b13de7e..b76f90b 100644 (file)
@@ -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/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
+                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
index f749865..3f7e334 100644 (file)
@@ -1,5 +1,5 @@
 {
-    "private_1": {
+    "uplink_0": {
         "id": 1,
         "bidir": "False",
         "duration": 60,
@@ -23,7 +23,7 @@
         },
         "traffic_type": "continuous"
     },
-    "public_1": {
+    "downlink_0": {
         "id": 2,
         "bidir": "False",
         "duration": 60,
index 0897fed..5b2dae2 100644 (file)
@@ -19,8 +19,8 @@ scenarios:
   traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
   topology: vfw_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}
@@ -28,7 +28,7 @@ scenarios:
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 9808398..b6eb5c1 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
   topology: vfw_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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 5a90acd..161a276 100644 (file)
@@ -20,20 +20,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
   topology: vfw_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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__1': 'xe1'}]
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
       count: 1000
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       nfvi_enable: True
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
index b0150d8..2495114 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
new file mode 100644 (file)
index 0000000..0904ace
--- /dev/null
@@ -0,0 +1,45 @@
+# 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-4.yaml
+  topology: vfw-tg-topology-4port.yaml
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+  options:
+    framesize:
+      private: {64B: 100}
+      public: {64B: 100}
+    flow:
+      src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
+      dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
+      count: 1
+    traffic_type: 4
+    rfc2544:
+      allowed_drop_rate: 0.0001 - 0.0001
+    vnf__0:
+      rules: acl_1rule.yaml
+      vnf_config: {lb_config: 'SW', lb_count: 2, worker_config: '1C/1T', worker_threads: 1}
+  runner:
+    type: Iteration
+    iterations: 10
+    interval: 35
+context:
+  type: Node
+  name: yardstick
+  nfvi_type: baremetal
index 6a55bfb..e58130a 100644 (file)
@@ -19,22 +19,22 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__2': 'xe0'}]
+      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
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 9773c3a..8b21c27 100644 (file)
@@ -20,20 +20,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
       nfvi_enable: True
index 4656cc8..1e2c8e5 100644 (file)
@@ -19,21 +19,21 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
   topology: vfw_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}
     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
       latency: true
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index d11f097..38ed928 100644 (file)
@@ -19,21 +19,21 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     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
       latency: true
-    vnf__1:
+    vnf__0:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
       nfvi_enable: True
index 06b19eb..d00b443 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
   topology: vfw_vnf_topology_ixia.yaml
   nodes:
-    tg__1: trafficgen_1.yardstick1
-    vnf__1: vnf.yardstick
+    tg__0: trafficgen_1.yardstick1
+    vnf__0: vnf.yardstick
   options:
     framesize:
       private: {64B: 100}
       public: {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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
   runner:
@@ -68,14 +68,14 @@ contexts:
         cidr: '10.0.1.0/24'
       xe0:
         cidr: '10.0.2.0/24'
-        vld_id: public_1
+        vld_id: downlink_0
         gateway_ip: 'null'
         provider: true
         physical_network: phystenant1
         port_security_enabled: False
       xe1:
         cidr: '10.0.3.0/24'
-        vld_id: private_1
+        vld_id: uplink_0
         gateway_ip: 'null'
         provider: true
         physical_network: phystenant2
index 3e323d9..86974d2 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
   runner:
@@ -67,14 +67,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
index 82e89a2..16815bf 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
   topology: vfw-tg-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}
     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:
       rules: acl_1rule.yaml
       vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
   runner:
@@ -67,7 +67,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:
@@ -75,7 +74,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/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_4port.yaml
new file mode 100644 (file)
index 0000000..972a6ab
--- /dev/null
@@ -0,0 +1,89 @@
+# 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-4.yaml
+  topology: vfw-tg-topology-4port.yaml
+  nodes:
+    tg__0: tg_0.yardstick
+    vnf__0: vnf_0.yardstick
+  options:
+    framesize:
+      private: {64B: 100}
+      public: {64B: 100}
+    flow:
+      src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
+      dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
+      count: 1
+    traffic_type: 4
+    rfc2544:
+      allowed_drop_rate: 0.0001 - 0.0001
+    vnf__0:
+      rules: acl_1rule.yaml
+      vnf_config: {lb_config: 'SW', lb_count: 2, worker_config: '1C/1T', worker_threads: 1}
+  runner:
+    type: Iteration
+    iterations: 10
+    interval: 35
+context:
+  # put node context first, so we don't HEAT deploy if node has errors
+  name: yardstick
+  image: yardstick-samplevnfs
+  flavor:
+    vcpus: 10
+    ram: 20480
+    disk: 6
+    extra_specs:
+      hw:cpu_sockets: 1
+      # (2 cores / port * 4 ports) + 1 master == 10 cores
+      hw:cpu_cores: 12
+      hw:cpu_threads: 1
+  user: ubuntu
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+  servers:
+    tg_0:
+      floating_ip: true
+      placement: "pgrp1"
+    vnf_0:
+      floating_ip: true
+      placement: "pgrp1"
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+    private_0:
+      cidr: '10.1.0.0/24'
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
+    public_0:
+      cidr: '10.1.1.0/24'
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
+    private_1:
+      cidr: '10.2.0.0/24'
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
+    public_1:
+      cidr: '10.2.1.0/24'
+      gateway_ip: 'null'
+      port_security_enabled: False
+      enable_dhcp: 'false'
+
index e1496ef..c1b439a 100644 (file)
@@ -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/vfw_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/vfw/vfw-tg-topology-4port.yaml b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-4port.yaml
new file mode 100644 (file)
index 0000000..93e5bf7
--- /dev/null
@@ -0,0 +1,70 @@
+# 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: 3tg-topology
+        name: 3tg-topology
+        short-name: 3tg-topology
+        description: 3tg-topology
+        constituent-vnfd:
+        -   member-vnf-index: '1'
+            vnfd-id-ref: tg__0
+            VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml      #VNF type
+        -   member-vnf-index: '2'
+            vnfd-id-ref: vnf__0
+            VNF model: ../../vnf_descriptors/vfw_vnf.yaml      #VNF type
+
+        vld:
+        -   id: uplink_0
+            name: tg__0 to vnf__0 link 1
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe0
+                vnfd-id-ref: tg__0
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe0
+                vnfd-id-ref: vnf__0
+        -   id: downlink_0
+            name: vnf__0 to tg__0 link 2
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe1
+                vnfd-id-ref: vnf__0
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe1
+                vnfd-id-ref: tg__0
+
+        -   id: uplink_1
+            name: tg__0 to vnf__0 link 3
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe2
+                vnfd-id-ref: tg__0
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe2
+                vnfd-id-ref: vnf__0
+        -   id: downlink_1
+            name: vnf__0 to tg__0 link 4
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: xe3
+                vnfd-id-ref: vnf__0
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: xe3
+                vnfd-id-ref: tg__0
index b224ec1..2a76df5 100644 (file)
@@ -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/vfw_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
index 3585ba6..6c722d6 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with vFW 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/vfw_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
index 9e70623..f14de0a 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with HTTP and vFW 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/vfw_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                   # VFW VNF
+                vnfd-id-ref: tg__0                   # VFW VNF
index cdeee6e..a0cf372 100644 (file)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 {
-    "private_1": {
+    "uplink_0": {
         "id": 1,
         "bidir": "False",
         "duration": 60,
@@ -36,7 +36,7 @@
         },
         "traffic_type": "continuous"
     },
-    "public_1": {
+    "downlink_0": {
         "id": 2,
         "bidir": "False",
         "duration": 60,
index a401793..1914f1a 100644 (file)
@@ -19,18 +19,18 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
   topology: vpe_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}
     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
-    vnf__1:
+    vnf__0:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index bff9743..42c0de8 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
   topology: vpe_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: {1518B: 100}
       public: {1518B: 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:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index 50874ac..ffb2b41 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
   topology: vpe_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}
     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:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index 394d078..0d732a8 100644 (file)
@@ -19,20 +19,20 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vpe.yaml"
   topology: vpe_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}
     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:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index 972d58b..b04f6aa 100644 (file)
@@ -19,22 +19,22 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
   topology: vpe_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}
     flow:
-      src_ip: [{'tg__1': 'xe0'}]
-      dst_ip: [{'tg__2': 'xe0'}]
+      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
-    vnf__1:
+    vnf__0:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index 092f068..8bdf39e 100644 (file)
@@ -19,21 +19,21 @@ scenarios:
   traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
   topology: vpe_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: 5, 128B: 11, 256B: 16, 373B: 10, 570B: 35, 1400B: 10, 1500B: 13}
       public: {64B: 5, 128B: 3, 256B: 4, 373B: 6, 570B: 8, 1400B: 36, 1500B: 38}
 
     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:
       nfvi_enable: True
       vnf_config: vpe_config
   runner:
index c56a7e1..8a1d335 100644 (file)
@@ -20,34 +20,34 @@ nsd:nsd-catalog:
         description: scenario with VPE,L3fwd and VNF
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml       #tg_vpe_upstream.yaml   #VPE VNF
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/vpe_vnf.yaml    #tg_l3fwd.yaml #tg_trex_tpl.yaml       #TREX
         -   member-vnf-index: '3'
-            vnfd-id-ref: tg__2
+            vnfd-id-ref: tg__1
             VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml       #tg_vpe_upstream.yaml   #VPE VNF
 
         vld:
-        -   id: private
-            name: tg__1 to vnf__1 link 1
+        -   id: uplink
+            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                  #TREX
+                vnfd-id-ref: tg__0                  #TREX
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: vnf__1                  #VNF
+                vnfd-id-ref: vnf__0                  #VNF
 
-        -   id: public
-            name: vnf__1 to tg__2 link 2
+        -   id: downlink
+            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                  #L3fwd
+                vnfd-id-ref: vnf__0                  #L3fwd
             -   member-vnf-index-ref: '3'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: tg__2                  #VPE VNF
+                vnfd-id-ref: tg__1                  #VPE VNF
index 0de4b6e..5ad4502 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with VPE,L3fwd and VNF
         constituent-vnfd:
         -   member-vnf-index: '1'
-            vnfd-id-ref: tg__1
+            vnfd-id-ref: tg__0
             VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml       #tg_vpe_upstream.yaml   #VPE VNF
         -   member-vnf-index: '2'
-            vnfd-id-ref: vnf__1
+            vnfd-id-ref: vnf__0
             VNF model: ../../vnf_descriptors/vpe_vnf.yaml    #tg_l3fwd.yaml #tg_trex_tpl.yaml       #TREX
 
         vld:
-        -   id: private
-            name: tg__1 to vnf__1 link 1
+        -   id: uplink
+            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                  #TREX
+                vnfd-id-ref: tg__0                  #TREX
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: vnf__1                  #VNF
+                vnfd-id-ref: vnf__0                  #VNF
 
-        -   id: public
-            name: vnf__1 to tg__1 link 2
+        -   id: downlink
+            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                  #L3fwd
+                vnfd-id-ref: vnf__0                  #L3fwd
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1                  #VPE VNF
+                vnfd-id-ref: tg__0                  #VPE VNF
index 610805d..315a308 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with VPE,L3fwd and 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/vpe_vnf.yaml
 
         vld:
-        -   id: private
-            name: tg__1 to vnf__1 link 1
+        -   id: uplink
+            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                  #TREX
+                vnfd-id-ref: tg__0                  #TREX
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: vnf__1                  #VNF
+                vnfd-id-ref: vnf__0                  #VNF
 
-        -   id: public
-            name: vnf__1 to tg__1 link 2
+        -   id: downlink
+            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                  #L3fwd
+                vnfd-id-ref: vnf__0                  #L3fwd
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1                  #VPE VNF
+                vnfd-id-ref: tg__0                  #VPE VNF
index 5505a83..aa1dc0d 100644 (file)
@@ -20,31 +20,31 @@ nsd:nsd-catalog:
         description: scenario with VPE,L3fwd and 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/vpe_vnf.yaml
 
         vld:
-        -   id: private
-            name: tg__1 to vnf__1 link 1
+        -   id: uplink
+            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                  #TREX
+                vnfd-id-ref: tg__0                  #TREX
             -   member-vnf-index-ref: '2'
                 vnfd-connection-point-ref: xe0
-                vnfd-id-ref: vnf__1                  #VNF
+                vnfd-id-ref: vnf__0                  #VNF
 
-        -   id: public
-            name: vnf__1 to tg__1 link 2
+        -   id: downlink
+            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                  #L3fwd
+                vnfd-id-ref: vnf__0                  #L3fwd
             -   member-vnf-index-ref: '1'
                 vnfd-connection-point-ref: xe1
-                vnfd-id-ref: tg__1                  #VPE VNF
+                vnfd-id-ref: tg__0                  #VPE VNF
index fc25015..443fb88 100644 (file)
@@ -150,8 +150,8 @@ public:
                 570B: {{get(imix_570B, 12) }}
                 1400B: {{get(imix_1400B, 12) }}
                 1518b: {{get(imix_1500B, 12) }}
-            srcmac: {{get(private.ipv4_1.dst_mac}} # xe0.local_mac
-            dstmac: {{get)private.ipv4_1.src_mac}} # xe0.dst_mac
+            srcmac: {{get(uplink.ipv4_1.dst_mac}} # xe0.local_mac
+            dstmac: {{get)uplink.ipv4_1.src_mac}} # xe0.dst_mac
             QinQ:
                 S-VLAN:
                     id: {{ get(flow.s_vlan_range, "0") }}
@@ -166,33 +166,33 @@ public:
 
         outer_l3v4:
             proto: {{ get(flow.outer_proto, "udp") }},
-            srcip4: {{ get(private.ipv4_1.outer_l3v4.dstip4) }}
-            dstip4: {{ get(private.ipv4_1.outer_l3v4.srcip4) }}
+            srcip4: {{ get(uplink.ipv4_1.outer_l3v4.dstip4) }}
+            dstip4: {{ get(uplink.ipv4_1.outer_l3v4.srcip4) }}
             ttl: 32
             dscp:  {{ get(flow.tos, 0) }}
 
         outer_l4:
-            srcport: {{ get(private.ipv4_1.outer_l4.dstport) }}
-            dstport: {{ get(private.ipv4_1.outer_l4.srcport) }}
+            srcport: {{ get(uplink.ipv4_1.outer_l4.dstport) }}
+            dstport: {{ get(uplink.ipv4_1.outer_l4.srcport) }}
             vni: {{ get(flow.vxlan_vni, "2345") }} #optional
             inner_l2: #optional
-                srcmac: {{ get(private.ipv4_1.outer_l4.inner_l2.dstmac) }}
-                dstmac: {{ get(private.ipv4_1.outer_l4.inner_l2.srcmac) }}
+                srcmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.dstmac) }}
+                dstmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.srcmac) }}
 
         inner_l3v4: #optional
             proto: {{ get(flow.inner_proto, "udp") }},
-            srcip4: {{ get(private.ipv4_1.inner_l3v4.dstip4) }}
-            dstip4: {{ get(private.ipv4_1.inner_l3v4.srcip4) }}
+            srcip4: {{ get(uplink.ipv4_1.inner_l3v4.dstip4) }}
+            dstip4: {{ get(uplink.ipv4_1.inner_l3v4.srcip4) }}
             ttl: 32
             dscp:  {{ get(flow.inner_tos, 0) }}
 
         inner_l3v6:
             proto: {{ get(flow.inner_proto, "udp") }},
-            srcip6: {{ get(private.ipv4_1.inner_l3v6.dstip6) }}
-            dstip6: {{ get(private.ipv4_1.inner_l3v6.srcip6) }}
+            srcip6: {{ get(uplink.ipv4_1.inner_l3v6.dstip6) }}
+            dstip6: {{ get(uplink.ipv4_1.inner_l3v6.srcip6) }}
             ttl: 32
             tc: {{ get(flow.inner_tos, 0) }}
 
         inner_l4:
-            srcport: {{ get(private.ipv4_1.inner_l4.dstport) }}
-            dstport: {{ get(private.ipv4_1.inner_l4.srcport) }}
+            srcport: {{ get(uplink.ipv4_1.inner_l4.dstport) }}
+            dstport: {{ get(uplink.ipv4_1.inner_l4.srcport) }}
index a7394ab..5da20ff 100644 (file)
@@ -6,7 +6,7 @@ traffic_profile:
   traffic_type: TrafficProfileGenericHTTP
 
 #http client specific values
-private_1:
+uplink_0:
     http_no_requests: "1000"                # number of http iterations
     http_concurency: "65000"                  # number of threads to be run
     http_locator:  "/1B.bin"              # http locator to be read
@@ -17,7 +17,7 @@ private_1:
     attacker_tests: "False"                 # True : If attacker Test, False : Otherwise
 
 #http server side
-public_1:
+downlink_0:
     http_locator_image_size: "1B"      # image size requested by http client
     http_bind_address: "152.40.40.20"   # where address is bound
     http_bind_port: "9004"              # when port is bound
index 6e0c693..7d51122 100644 (file)
@@ -45,24 +45,24 @@ traffic_profile:
   # that specifies a range (e.g. ipv4 address, port)
 
 
-private_1:
+uplink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.64B', '0') }}"
-                128B: "{{ get(imix, 'imix.private.128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.373B', '0') }}"
-                512B: "{{ get(imix, 'imix.private.512B', '0') }}"
-                570B: "{{get(imix, 'imix.private.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+                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_0', '1.1.1.1-1.1.255.255') }}"
-            dstip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
+            srcip4: "{{get(flow, 'flow.src_ip_0', '10.0.2.1-10.0.2.255') }}"
+            dstip4: "{{get(flow, 'flow.dst_ip_0', '10.0.3.1-10.0.3.255') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
             ttl: 32
             dscp: 0
@@ -70,24 +70,24 @@ private_1:
             srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '2001-4001') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.public.64B', '0') }}"
-                128B: "{{ get(imix, 'imix.public.128B', '0') }}"
-                256B: "{{ get(imix, 'imix.public.256B', '0') }}"
-                373b: "{{ get(imix, 'imix.public.373B', '0') }}"
-                512B: "{{ get(imix, 'imix.public.512B', '0') }}"
-                570B: "{{get(imix, 'imix.public.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+                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') }}"
+                1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+                1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+                1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
 
         outer_l3v4:
             proto: "udp"
-            srcip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
-            dstip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.1.255.255') }}"
+            srcip4: "{{get(flow, 'flow.dst_ip_0', '10.0.3.1-10.0.3.255') }}"
+            dstip4: "{{get(flow, 'flow.src_ip_0', '10.0.2.1-10.0.2.255') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
             ttl: 32
             dscp: 0
index df04a93..60a78a0 100644 (file)
@@ -45,19 +45,19 @@ traffic_profile:
   # that specifies a range (e.g. ipv4 address, port)
 
 
-private_1:
+uplink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{get(imix, 'imix.private.64B', '0') }}"
-                128B: "{{get(imix, 'imix.private.128B', '0') }}"
-                256B: "{{get(imix, 'imix.private.256B', '0') }}"
-                373B: "{{get(imix, 'imix.private.373B', '0') }}"
-                512B: "{{get(imix, 'imix.private.512B', '0') }}"
-                570B: "{{get(imix, 'imix.private.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+                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"
@@ -70,19 +70,19 @@ private_1:
             srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '2001-4001') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.public.64B', '0') }}"
-                128B: "{{ get(imix, 'imix.public.128B', '0') }}"
-                256B: "{{ get(imix, 'imix.public.256B', '0') }}"
-                373b: "{{ get(imix, 'imix.public.373B', '0') }}"
-                512B: "{{ get(imix, 'imix.public.512B', '0') }}"
-                570B: "{{get(imix, 'imix.public.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+                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') }}"
+                1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+                1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+                1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
 
         outer_l3v4:
             proto: "udp"
index da9bc40..f42db93 100644 (file)
@@ -45,19 +45,19 @@ traffic_profile:
   # that specifies a range (e.g. ipv4 address, port)
 
 
-private_1:
+uplink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.64B', '0') }}"
-                128B: "{{ get(imix, 'imix.private.128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.373B', '0') }}"
-                512B: "{{ get(imix, 'imix.private.512B', '0') }}"
-                570B: "{{get(imix, 'imix.private.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+                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') }}"
 
             QinQ:
                 S-VLAN:
@@ -81,17 +81,17 @@ private_1:
             srcport: "{{get(flow, 'flow.src_port_0', '0') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
         outer_l3v4:
             proto: "tcp"
@@ -105,19 +105,19 @@ public_1:
             srcport: "{{get(flow, 'flow.dst_port_0', '0') }}"
             dstport: "{{get(flow, 'flow.src_port_0', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.public.64B', '0') }}"
-                128B: "{{ get(imix, 'imix.public.128B', '0') }}"
-                256B: "{{ get(imix, 'imix.public.256B', '0') }}"
-                373b: "{{ get(imix, 'imix.public.373B', '0') }}"
-                512B: "{{ get(imix, 'imix.public.512B', '0') }}"
-                570B: "{{get(imix, 'imix.public.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+                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') }}"
+                1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+                1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+                1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
 
             QinQ:
                 S-VLAN:
@@ -141,17 +141,17 @@ private_2:
             srcport: "{{get(flow, 'flow.src_port1', '0') }}"
             dstport: "{{get(flow, 'flow.dst_port1', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
         outer_l3v4:
             proto: "tcp"
index a008eb3..af74df2 100644 (file)
@@ -31,19 +31,19 @@ traffic_profile:
   # that specifies a range (e.g. ipv4 address, port)
 
 
-private_1:
+uplink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{get(imix, 'imix.private.64B', '0') }}"
-                128B: "{{get(imix, 'imix.private.128B', '0') }}"
-                256B: "{{get(imix, 'imix.private.256B', '0') }}"
-                373b: "{{get(imix, 'imix.private.373B', '0') }}"
-                512B: "{{get(imix, 'imix.private.512B', '0') }}"
-                570B: "{{get(imix, 'imix.private.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+                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"
@@ -56,19 +56,19 @@ private_1:
             srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{get(imix, 'imix.public.64B', '0') }}"
-                128B: "{{get(imix, 'imix.public.128B', '0') }}"
-                256B: "{{get(imix, 'imix.public.256B', '0') }}"
-                373b: "{{get(imix, 'imix.public.373B', '0') }}"
-                512B: "{{get(imix, 'imix.public.512B', '0') }}"
-                570B: "{{get(imix, 'imix.public.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+                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') }}"
+                1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+                1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+                1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
 
         outer_l3v4:
             proto: "udp"
@@ -81,19 +81,19 @@ public_1:
             srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{get(imix, 'imix.private.64B', '0') }}"
-                128B: "{{get(imix, 'imix.private.128B', '0') }}"
-                256B: "{{get(imix, 'imix.private.256B', '0') }}"
-                373b: "{{get(imix, 'imix.private.373B', '0') }}"
-                512B: "{{get(imix, 'imix.private.512B', '0') }}"
-                570B: "{{get(imix, 'imix.private.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+                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"
@@ -106,19 +106,19 @@ private_2:
             srcport: "{{get(flow, 'flow.src_port1', '1234') }}"
             dstport: "{{get(flow, 'flow.dst_port1', '2001') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{get(imix, 'imix.public.64B', '0') }}"
-                128B: "{{get(imix, 'imix.public.128B', '0') }}"
-                256B: "{{get(imix, 'imix.public.256B', '0') }}"
-                373b: "{{get(imix, 'imix.public.373B', '0') }}"
-                512B: "{{get(imix, 'imix.public.512B', '0') }}"
-                570B: "{{get(imix, 'imix.public.570B', '0') }}"
-                1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
-                1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
-                1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+                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') }}"
+                1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+                1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+                1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
 
         outer_l3v4:
             proto: "udp"
index 7ca2f10..5cce594 100644 (file)
@@ -44,17 +44,17 @@ traffic_profile:
   frame_rate : 100  # pc of linerate
   # that specifies a range (e.g. ipv4 address, port)
 
-private_1:
+uplink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
             QinQ:
                 S-VLAN:
@@ -78,17 +78,17 @@ private_1:
             srcport: "{{get(flow, 'flow.src_port_0', '0') }}"
             dstport: "{{get(flow, 'flow.dst_port_0', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
         outer_l3v4:
             proto: "tcp"
@@ -102,17 +102,17 @@ public_1:
             srcport: "{{get(flow, 'flow.dst_port_0', '0') }}"
             dstport: "{{get(flow, 'flow.src_port_0', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
             QinQ:
                 S-VLAN:
@@ -135,17 +135,17 @@ private_2:
             srcport: "{{get(flow, 'flow.src_port1', '0') }}"
             dstport: "{{get(flow, 'flow.dst_port1', '0') }}"
             count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
         outer_l3v4:
             proto: "tcp"
index b306739..1d1752b 100644 (file)
 schema: "nsb:traffic_profile:0.1"
 
 name:            prox_acl
-description:     ACL max no-drop throughput over given packet sizes
+description:     ACL throughput over given packet sizes
 
 traffic_profile:
   traffic_type: ProxACLProfile
   tolerated_loss: 100.0
-  test_precision: 1.0
+  test_precision: 0.001
   packet_sizes: [64]
   duration: 5
   lower_bound: 0.0
   upper_bound: 100.0
-
+  attempts: 20
diff --git a/samples/vnf_samples/traffic_profiles/prox_heat_acl.yaml b/samples/vnf_samples/traffic_profiles/prox_heat_acl.yaml
new file mode 100644 (file)
index 0000000..0dc19ee
--- /dev/null
@@ -0,0 +1,28 @@
+# 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: "nsb:traffic_profile:0.1"
+
+name:            prox_heat_acl
+description:     ACL throughput over given packet sizes
+
+traffic_profile:
+  traffic_type: ProxACLProfile
+  tolerated_loss: 100.0
+  test_precision: 0.001
+  packet_sizes: [64]
+  duration: 5
+  lower_bound: 0.0
+  upper_bound: 0.5
+  attempts: 20
\ No newline at end of file
diff --git a/samples/vnf_samples/traffic_profiles/prox_lb.yaml b/samples/vnf_samples/traffic_profiles/prox_lb.yaml
new file mode 100644 (file)
index 0000000..1461bc3
--- /dev/null
@@ -0,0 +1,27 @@
+# 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: "nsb:traffic_profile:0.1"
+
+name:            prox_lb
+description:     Load Balancer 1-to-4 port
+
+traffic_profile:
+  traffic_type: ProxBinSearchProfile
+  tolerated_loss: 80.0
+  test_precision: 0.01
+  packet_sizes: [64]
+  duration: 5
+  lower_bound: 0.0
+  upper_bound: 100.0
index 3b3739f..13c4e9d 100644 (file)
@@ -32,9 +32,6 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
         vdu:
         -   id: proxvnf-baremetal
             name: proxvnf-baremetal
index 75c16ba..13c4e9d 100644 (file)
@@ -32,11 +32,6 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
-        -   name: xe1
-            type: VPORT
         vdu:
         -   id: proxvnf-baremetal
             name: proxvnf-baremetal
index 75c16ba..13c4e9d 100644 (file)
@@ -32,11 +32,6 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
-        -   name: xe1
-            type: VPORT
         vdu:
         -   id: proxvnf-baremetal
             name: proxvnf-baremetal
index b186b4c..7301439 100644 (file)
@@ -32,27 +32,10 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
         vdu:
         -   id: proxgen-baremetal
             name: proxgen-baremetal
             description: prox stateless traffic verifier
-            external-interface:
-            -   name: xe0
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
-                    vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe0
         benchmark:
             kpi:
                 - rx_throughput_fps
index e90a8d6..20bd12c 100644 (file)
@@ -32,41 +32,10 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
-        -   name: xe1
-            type: VPORT
         vdu:
         -   id: proxgen-baremetal
             name: proxgen-baremetal
             description: prox stateless traffic verifier
-            external-interface:
-            -   name: xe0
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
-                    vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe0
-            -   name: xe1
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe1
 
         benchmark:
             kpi:
index afea337..20bd12c 100644 (file)
@@ -32,65 +32,10 @@ vnfd:vnfd-catalog:
             {% if key_filename is defined %}
             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
             {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
-        -   name: xe1
-            type: VPORT
         vdu:
         -   id: proxgen-baremetal
             name: proxgen-baremetal
             description: prox stateless traffic verifier
-            external-interface:
-            -   name: xe0
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
-                    vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe0
-            -   name: xe1
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe1
-            -   name: xe2
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe2.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe2.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe2.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe2.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe2.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe2.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe2.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe2
-            -   name: xe3
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe3.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe3.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe3.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe3.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe3.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe3.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe3.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe3
 
         benchmark:
             kpi:
index d94ddfe..533ce2f 100644 (file)
@@ -36,7 +36,6 @@ vnfd:vnfd-catalog:
         -   id: trexgen-baremetal
             name: trexgen-baremetal
             description: TRex stateless traffic verifier
-
         benchmark:
             kpi:
                 - rx_throughput_fps
diff --git a/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml b/samples/vnf_samples/vnf_descriptors/tg_rfc2544_tpl_4port.yaml
deleted file mode 100644 (file)
index 47da390..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# 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.
-
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: TrexTrafficGenRFC  # nsb class mapping
-        name: trexverifier
-        short-name: trexverifier
-        description: TRex stateless traffic verifier
-        mgmt-interface:
-            vdu-id: trexgen-baremetal
-            {% if user is defined %}
-            user: '{{user}}'  # Value filled by vnfdgen
-            {% endif %}
-            {% if password is defined %}
-            password: '{{password}}'  # Value filled by vnfdgen
-            {% endif %}
-            {% if ip is defined %}
-            ip: '{{ip}}'  # Value filled by vnfdgen
-            {% endif %}
-            {% if key_filename is defined %}
-            key_filename: '{{key_filename}}'  # Value filled by vnfdgen
-            {% endif %}
-        connection-point:
-        -   name: xe0
-            type: VPORT
-        -   name: xe1
-            type: VPORT
-        vdu:
-        -   id: trexgen-baremetal
-            name: trexgen-baremetal
-            description: TRex stateless traffic verifier
-            external-interface:
-            -   name: xe0
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
-                    vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe0
-            -   name: xe1
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe1
-            -   name: xe2
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
-                    vpci: '{{ interfaces.xe2.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe2.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe2.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe2.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe2.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe2.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe2.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe2
-            -   name: xe3
-                virtual-interface:
-                    type: PCI-PASSTHROUGH
-                    vpci: '{{ interfaces.xe3.vpci }}' # Value filled by vnfdgen
-                    local_iface_name: '{{ interfaces.xe3.local_iface_name }}' # Value filled by vnfdgen
-                    local_ip: '{{ interfaces.xe3.local_ip }}' # Value filled by vnfdgen
-                    driver: '{{ interfaces.xe3.driver}}' # Value filled by vnfdgen
-                    dst_ip: '{{ interfaces.xe3.dst_ip }}' # Value filled by vnfdgen
-                    local_mac: '{{ interfaces.xe3.local_mac }}' # Value filled by vnfdgen
-                    dst_mac: '{{ interfaces.xe3.dst_mac }}' # Value filled by vnfdgen
-                    bandwidth: 10 Gbps
-                vnfd-connection-point-ref: xe3
-
-        benchmark:
-            kpi:
-                - rx_throughput_fps
-                - tx_throughput_fps
-                - tx_throughput_mbps
-                - rx_throughput_mbps
-                - in_packets
-                - out_packets
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-bar-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-bar-ha_daily.yaml
new file mode 100644 (file)
index 0000000..35bc0eb
--- /dev/null
@@ -0,0 +1,161 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-nosdn-bar-ha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-nosdn-bar-ha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+    file_name: opnfv_yardstick_tc002.yaml
+-
+    file_name: opnfv_yardstick_tc005.yaml
+-
+    file_name: opnfv_yardstick_tc010.yaml
+-
+    file_name: opnfv_yardstick_tc011.yaml
+-
+    file_name: opnfv_yardstick_tc012.yaml
+-
+    file_name: opnfv_yardstick_tc014.yaml
+-
+    file_name: opnfv_yardstick_tc037.yaml
+-
+    file_name: opnfv_yardstick_tc043.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node4.LF","target": "node5.LF"}'
+-
+    file_name: opnfv_yardstick_tc019.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod2,ericsson-pod1
+    task_args:
+        huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc045.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod2,ericsson-pod1
+    task_args:
+        huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc046.yaml
+    constraint:
+        installer: fuel
+    task_args:
+        default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc047.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod2,ericsson-pod1
+    task_args:
+        huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc048.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod2,ericsson-pod1
+    task_args:
+        huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc049.yaml
+    constraint:
+        installer: fuel
+    task_args:
+        default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc050.yaml
+    constraint:
+        installer: fuel
+    task_args:
+        default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc051.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod2,ericsson-pod1
+    task_args:
+        huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc052.yaml
+    constraint:
+        installer: fuel
+    task_args:
+        default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc053.yaml
+    constraint:
+        installer: fuel
+    task_args:
+        default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}'
+-
+    file_name: opnfv_yardstick_tc055.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node5.yardstick-TC055"}'
+-
+    file_name: opnfv_yardstick_tc063.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node5.yardstick-TC063"}'
+-
+    file_name: opnfv_yardstick_tc069.yaml
+-
+    file_name: opnfv_yardstick_tc070.yaml
+-
+    file_name: opnfv_yardstick_tc071.yaml
+-
+    file_name: opnfv_yardstick_tc072.yaml
+-
+    file_name: opnfv_yardstick_tc074.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1, huawei-pod2
+    task_args:
+        huawei-pod1: '{"public_network": "ext-net",
+        "StorPerf_ip": "192.168.10.6"}'
+        huawei-pod2: '{"public_network": "ext-net",
+        "StorPerf_ip": "192.168.11.2"}'
+-
+    file_name: opnfv_yardstick_tc075.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node1.LF"}'
+-
+    file_name: opnfv_yardstick_tc027.yaml
+    constraint:
+        installer: compass,fuel
+        pod: huawei-pod1,lf-pod2,ericsson-pod3,ericsson-pod4
+    task_args:
+        huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
+        lf-pod2: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}'
+        ericsson-pod3: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}'
+        ericsson-pod4: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}'
+
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-bar-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-bar-noha_daily.yaml
new file mode 100644 (file)
index 0000000..26e92e7
--- /dev/null
@@ -0,0 +1,62 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-nosdn-bar-noha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-nosdn-bar-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-odl-fdio-dvr-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl-fdio-dvr-ha_daily.yaml
new file mode 100644 (file)
index 0000000..825fea7
--- /dev/null
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-odl-fdio-dvr-ha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl-fdio-dvr-ha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
diff --git a/tests/opnfv/test_suites/opnfv_os-odl-fdio-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl-fdio-noha_daily.yaml
new file mode 100644 (file)
index 0000000..cc8df99
--- /dev/null
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-odl-fdio-noha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl-fdio-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
diff --git a/tests/opnfv/test_suites/opnfv_os-odl-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl-nofeature-ha_daily.yaml
new file mode 100644 (file)
index 0000000..1ab16e5
--- /dev/null
@@ -0,0 +1,64 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-odl-nofeature-ha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl-nofeature-ha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+  constraint:
+      installer: compass
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-odl-ovs-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl-ovs-ha_daily.yaml
new file mode 100644 (file)
index 0000000..b5e53b9
--- /dev/null
@@ -0,0 +1,64 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# os-odl-ovs-ha daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl-ovs-ha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+  constraint:
+      installer: compass
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 1c9d5a6..5e1ed2e 100644 (file)
@@ -1,5 +1,6 @@
 from __future__ import absolute_import
 
+import mock
 import os
 import socket
 import unittest
@@ -16,6 +17,10 @@ class APITestCase(unittest.TestCase):
         self.db_fd, self.db_path = tempfile.mkstemp()
         consts.SQLITE = 'sqlite:///{}'.format(self.db_path)
 
+        # server calls gethostbyname which takes 4 seconds, and we should mock it anyway
+        self.socket_mock = mock.patch.dict("sys.modules", {"socket": mock.MagicMock(
+            **{"gethostbyname.return_value": "127.0.0.1", "gethostname.return_value": "localhost"})})
+        self.socket_mock.start()
         try:
             from api import server
         except socket.gaierror:
@@ -30,6 +35,7 @@ class APITestCase(unittest.TestCase):
     def tearDown(self):
         os.close(self.db_fd)
         os.unlink(self.db_path)
+        self.socket_mock.stop()
 
     def _post(self, url, data):
         headers = {'Content-Type': 'application/json'}
index d1b5855..2e54680 100644 (file)
@@ -227,19 +227,20 @@ class HeatContextTestCase(unittest.TestCase):
         mock_os.path.exists.return_value = True
         self.assertIsNone(self.test_context.undeploy())
 
-    def test__get_server_found_dict(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_found_dict(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to get a server that matches
         based on a dictionary input.
         """
         foo2_server = mock.Mock()
-        foo2_server.key_filename = 'key_file'
+        foo2_server.key_filename = None
         foo2_server.private_ip = '10.0.0.2'
         foo2_server.public_ip = '127.0.0.2'
         foo2_server.context.user = 'oof'
 
         baz3_server = mock.Mock()
-        baz3_server.key_filename = 'key_filename'
+        baz3_server.key_filename = None
         baz3_server.private_ip = '10.0.0.3'
         baz3_server.public_ip = '127.0.0.3'
         baz3_server.context.user = 'zab'
@@ -264,11 +265,11 @@ class HeatContextTestCase(unittest.TestCase):
         }
         result = self.test_context._get_server(attr_name)
         self.assertEqual(result['user'], 'bot')
-        self.assertIsNotNone(result['key_filename'])
         self.assertEqual(result['ip'], '127.0.0.1')
         self.assertEqual(result['private_ip'], '10.0.0.1')
 
-    def test__get_server_found_dict_no_attrs(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_found_dict_no_attrs(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to get a server that matches
         based on a dictionary input.
@@ -301,13 +302,13 @@ class HeatContextTestCase(unittest.TestCase):
         }
         result = self.test_context._get_server(attr_name)
         self.assertEqual(result['user'], 'bot')
-        self.assertIsNotNone(result['key_filename'])
         # no private ip attr mapping in the map results in None value in the result
         self.assertIsNone(result['private_ip'])
         # no public ip attr mapping in the map results in no value in the result
         self.assertNotIn('ip', result)
 
-    def test__get_server_found_not_dict(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_found_not_dict(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to get a server that matches
         based on a non-dictionary input
@@ -339,12 +340,12 @@ class HeatContextTestCase(unittest.TestCase):
         attr_name = 'baz3'
         result = self.test_context._get_server(attr_name)
         self.assertEqual(result['user'], 'zab')
-        self.assertIsNotNone(result['key_filename'])
         self.assertEqual(result['private_ip'], '10.0.0.3')
         # no public_ip on the server results in no value in the result
         self.assertNotIn('public_ip', result)
 
-    def test__get_server_none_found_not_dict(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_none_found_not_dict(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to not get a server due to
         None value associated with the match to a non-dictionary
@@ -377,7 +378,8 @@ class HeatContextTestCase(unittest.TestCase):
         result = self.test_context._get_server(attr_name)
         self.assertIsNone(result)
 
-    def test__get_server_not_found_dict(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_not_found_dict(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to not get a server for lack
         of a match to a dictionary input
@@ -412,7 +414,8 @@ class HeatContextTestCase(unittest.TestCase):
         result = self.test_context._get_server(attr_name)
         self.assertIsNone(result)
 
-    def test__get_server_not_found_not_dict(self):
+    @mock.patch("yardstick.benchmark.contexts.heat.pkg_resources")
+    def test__get_server_not_found_not_dict(self, mock_pkg_resources):
         """
         Use HeatContext._get_server to not get a server for lack
         of a match to a non-dictionary input
index e3917b5..737e705 100644 (file)
@@ -70,10 +70,10 @@ class TaskTestCase(unittest.TestCase):
                         'network_name': 'mgmt',
                     },
                     'xe0': {
-                        'network_name': 'private_0',
+                        'network_name': 'uplink_0',
                     },
                     'xe1': {
-                        'network_name': 'public_0',
+                        'network_name': 'downlink_0',
                     },
                 },
             },
@@ -82,11 +82,11 @@ class TaskTestCase(unittest.TestCase):
                     'mgmt': {
                         'network_name': 'mgmt',
                     },
-                    'private_0': {
-                        'network_name': 'private_0',
+                    'uplink_0': {
+                        'network_name': 'uplink_0',
                     },
-                    'public_0': {
-                        'network_name': 'public_0',
+                    'downlink_0': {
+                        'network_name': 'downlink_0',
                     },
                 },
             },
@@ -100,15 +100,15 @@ class TaskTestCase(unittest.TestCase):
             },
             {},
             {
-                'name': 'private_0',
+                'name': 'uplink_0',
                 'subnet_cidr': '10.20.0.0/16',
             },
             {
-                'name': 'public_0',
+                'name': 'downlink_0',
                 'segmentation_id': '1001',
             },
             {
-                'name': 'private_1',
+                'name': 'uplink_1',
             },
         ])
 
@@ -116,9 +116,9 @@ class TaskTestCase(unittest.TestCase):
         expected_get_network_calls = 6
         expected = {
             'mgmt': {'name': 'mgmt', 'network_type': 'flat'},
-            'private_0': {'name': 'private_0', 'subnet_cidr': '10.20.0.0/16'},
-            'private_1': {'name': 'private_1'},
-            'public_0': {'name': 'public_0', 'segmentation_id': '1001'},
+            'uplink_0': {'name': 'uplink_0', 'subnet_cidr': '10.20.0.0/16'},
+            'uplink_1': {'name': 'uplink_1'},
+            'downlink_0': {'name': 'downlink_0', 'segmentation_id': '1001'},
         }
 
         networks = task.get_networks_from_nodes(nodes)
index cfa166a..2123e47 100644 (file)
@@ -49,13 +49,13 @@ private:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
             QinQ:
                 S-VLAN:
@@ -81,13 +81,13 @@ public:
       ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
-                128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
-                256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
-                373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
-                570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
-                1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
-                1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+                64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+                128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+                256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+                373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+                570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+                1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+                1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
 
         outer_l3v4:
             proto: "tcp"
index 8aa9a8c..fa9b854 100644 (file)
@@ -242,11 +242,11 @@ class TestNetworkServiceTestCase(unittest.TestCase):
                 'vnf__1': self.vnf__1,
             },
             'networks': {
-                'private': {
-                    'vld_id': 'private',
+                GenericVNF.UPLINK: {
+                    'vld_id': GenericVNF.UPLINK,
                 },
-                'public': {
-                    'vld_id': 'public',
+                GenericVNF.DOWNLINK: {
+                    'vld_id': GenericVNF.DOWNLINK,
                 },
             },
         }
@@ -265,7 +265,7 @@ class TestNetworkServiceTestCase(unittest.TestCase):
                 }
             ],
             'type': 'ELAN',
-            'id': 'private',
+            'id': GenericVNF.UPLINK,
             'name': 'tg__1 to vnf__1 link 1'
         }
 
@@ -283,7 +283,7 @@ class TestNetworkServiceTestCase(unittest.TestCase):
                 }
             ],
             'type': 'ELAN',
-            'id': 'public',
+            'id': GenericVNF.DOWNLINK,
             'name': 'vnf__1 to tg__1 link 2'
         }
 
index 0de4b6e..1ac6c1f 100644 (file)
@@ -27,7 +27,7 @@ nsd:nsd-catalog:
             VNF model: ../../vnf_descriptors/vpe_vnf.yaml    #tg_l3fwd.yaml #tg_trex_tpl.yaml       #TREX
 
         vld:
-        -   id: private
+        -   id: uplink
             name: tg__1 to vnf__1 link 1
             type: ELAN
             vnfd-connection-point-ref:
@@ -38,7 +38,7 @@ nsd:nsd-catalog:
                 vnfd-connection-point-ref: xe0
                 vnfd-id-ref: vnf__1                  #VNF
 
-        -   id: public
+        -   id: downlink
             name: vnf__1 to tg__1 link 2
             type: ELAN
             vnfd-connection-point-ref:
index 606d557..f60834f 100644 (file)
@@ -27,7 +27,7 @@ nsd:nsd-catalog:
             VNF model: ../../vnf_descriptors/acl_vnf.yaml
 
         vld:
-        -   id: private_1
+        -   id: uplink_1
             name: tg__1 to vnf__1 link 1
             type: ELAN
             vnfd-connection-point-ref:
@@ -38,7 +38,7 @@ nsd:nsd-catalog:
                 vnfd-connection-point-ref: xe0
                 vnfd-id-ref: vnf__1                  #VNF
 
-        -   id: public_1
+        -   id: downlink_1
             name: vnf__1 to tg__1 link 2
             type: ELAN
             vnfd-connection-point-ref:
index 3d3f6dc..0ac363f 100644 (file)
@@ -37,7 +37,7 @@ class TestPortPairs(unittest.TestCase):
         vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         interfaces = vnfd['vdu'][0]['external-interface']
         port_pairs = PortPairs(interfaces)
-        self.assertEqual(port_pairs.valid_networks, [("private_0", "public_0")])
+        self.assertEqual(port_pairs.valid_networks, [("uplink_0", "downlink_0")])
 
     def test_all_ports(self):
         vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
@@ -45,17 +45,17 @@ class TestPortPairs(unittest.TestCase):
         port_pairs = PortPairs(interfaces)
         self.assertEqual(set(port_pairs.all_ports), {"xe0", "xe1"})
 
-    def test_priv_ports(self):
+    def test_uplink_ports(self):
         vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         interfaces = vnfd['vdu'][0]['external-interface']
         port_pairs = PortPairs(interfaces)
-        self.assertEqual(port_pairs.priv_ports, ["xe0"])
+        self.assertEqual(port_pairs.uplink_ports, ["xe0"])
 
-    def test_pub_ports(self):
+    def test_downlink_ports(self):
         vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         interfaces = vnfd['vdu'][0]['external-interface']
         port_pairs = PortPairs(interfaces)
-        self.assertEqual(port_pairs.pub_ports, ["xe1"])
+        self.assertEqual(port_pairs.downlink_ports, ["xe1"])
 
 
 class TestMultiPortConfig(unittest.TestCase):
@@ -99,7 +99,7 @@ class TestMultiPortConfig(unittest.TestCase):
                                     'ifname': 'xe0',
                                     'local_iface_name': 'eth0',
                                     'local_mac': '00:00:00:00:00:02',
-                                    'vld_id': 'private_0',
+                                    'vld_id': 'uplink_0',
                                 },
                                 'vnfd-connection-point-ref': 'xe0',
                                 'name': 'xe0'},
@@ -117,7 +117,7 @@ class TestMultiPortConfig(unittest.TestCase):
                                     'ifname': 'xe1',
                                     'local_iface_name': 'eth1',
                                     'local_mac': '00:00:00:00:00:01',
-                                    'vld_id': 'public_0',
+                                    'vld_id': 'downlink_0',
                                 },
                                 'vnfd-connection-point-ref': 'xe1',
                                 'name': 'xe1'}
index ea2f9c3..0c82d74 100644 (file)
@@ -26,6 +26,9 @@ from yardstick.network_services.libs.ixia_libs.IxNet.IxNet import IP_VERSION_4
 from yardstick.network_services.libs.ixia_libs.IxNet.IxNet import IP_VERSION_6
 
 
+UPLINK = "uplink"
+DOWNLINK = "downlink"
+
 class TestIxNextgen(unittest.TestCase):
 
     def test___init__(self):
@@ -97,7 +100,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_ix_update_frame(self):
         static_traffic_params = {
-            "private": {
+            UPLINK: {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -139,7 +142,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public": {
+            DOWNLINK: {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -268,7 +271,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_add_ip_header_v4(self):
         static_traffic_params = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -308,7 +311,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -366,7 +369,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_add_ip_header_v4_nothing_to_do(self):
         static_traffic_params = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -406,7 +409,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -464,7 +467,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_add_ip_header_v6(self):
         static_traffic_profile = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -497,7 +500,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -547,7 +550,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_add_ip_header_v6_nothing_to_do(self):
         static_traffic_params = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -579,7 +582,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -684,7 +687,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_ix_update_ether(self):
         static_traffic_params = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -723,7 +726,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -787,7 +790,7 @@ class TestIxNextgen(unittest.TestCase):
 
     def test_ix_update_ether_nothing_to_do(self):
         static_traffic_params = {
-            "private_0": {
+            "uplink_0": {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -820,7 +823,7 @@ class TestIxNextgen(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public_0": {
+            "downlink_0": {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
index 6566236..6fffb9e 100644 (file)
@@ -54,7 +54,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                'name': 'rfc2544',
                'traffic_profile': {'traffic_type': 'IXIARFC2544Profile',
                                    'frame_rate': 100},
-               'public': {'ipv4':
+               IXIARFC2544Profile.DOWNLINK: {'ipv4':
                           {'outer_l2': {'framesize':
                                         {'64B': '100', '1518B': '0',
                                          '128B': '0', '1400B': '0',
@@ -66,7 +66,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                                           'dscp': 0, 'ttl': 32},
                            'outer_l4': {'srcport': '2001',
                                         'dsrport': '1234'}}},
-               'private': {'ipv4':
+               IXIARFC2544Profile.UPLINK: {'ipv4':
                            {'outer_l2': {'framesize':
                                          {'64B': '100', '1518B': '0',
                                           '128B': '0', '1400B': '0',
@@ -83,12 +83,12 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_ixia_traffic_profile_error(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [-1]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.uplink_ports = [-1]
+        traffic_generator.downlink_ports = [1]
         traffic_generator.client = \
             mock.Mock(return_value=True)
         STATIC_TRAFFIC = {
-            "private": {
+            IXIARFC2544Profile.UPLINK: {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -127,7 +127,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public": {
+            IXIARFC2544Profile.DOWNLINK: {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -187,12 +187,12 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_ixia_traffic_profile(self, mock_open):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [-1]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.uplink_ports = [-1]
+        traffic_generator.downlink_ports = [1]
         traffic_generator.client = \
             mock.Mock(return_value=True)
         STATIC_TRAFFIC = {
-            "private": {
+            IXIARFC2544Profile.UPLINK: {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -234,7 +234,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public": {
+            IXIARFC2544Profile.DOWNLINK: {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -297,12 +297,12 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_ixia_traffic_profile_v6(self, mock_open):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [-1]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.uplink_ports = [-1]
+        traffic_generator.downlink_ports = [1]
         traffic_generator.client = \
             mock.Mock(return_value=True)
         STATIC_TRAFFIC = {
-            "private": {
+            IXIARFC2544Profile.UPLINK: {
                 "id": 1,
                 "bidir": "False",
                 "duration": 60,
@@ -341,7 +341,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                 },
                 "traffic_type": "continuous"
             },
-            "public": {
+            IXIARFC2544Profile.DOWNLINK: {
                 "id": 2,
                 "bidir": "False",
                 "duration": 60,
@@ -398,7 +398,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                         'traffic_profile':
                         {'traffic_type': 'IXIARFC2544Profile',
                          'frame_rate': 100},
-                        'public':
+                        IXIARFC2544Profile.DOWNLINK:
                         {'ipv4':
                          {'outer_l2': {'framesize':
                                        {'64B': '100', '1518B': '0',
@@ -415,7 +415,7 @@ class TestIXIARFC2544Profile(unittest.TestCase):
                                          'dscp': 0, 'ttl': 32},
                           'outer_l4': {'srcport': '2001',
                                        'dsrport': '1234'}}},
-                        'private': {'ipv4':
+                        IXIARFC2544Profile.UPLINK: {'ipv4':
                                     {'outer_l2': {'framesize':
                                                   {'64B': '100', '1518B': '0',
                                                    '128B': '0', '1400B': '0',
@@ -449,13 +449,13 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test__ixia_traffic_generate(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
-        traffic = {"public": {'iload': 10},
-                   "private": {'iload': 10}}
+        traffic = {IXIARFC2544Profile.DOWNLINK: {'iload': 10},
+                   IXIARFC2544Profile.UPLINK: {'iload': 10}}
         ixia_obj = mock.MagicMock()
         r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
         r_f_c2544_profile.rate = 100
@@ -466,15 +466,15 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_execute(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
         r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
         r_f_c2544_profile.first_run = True
-        r_f_c2544_profile.params = {"public": {'iload': 10},
-                                    "private": {'iload': 10}}
+        r_f_c2544_profile.params = {IXIARFC2544Profile.DOWNLINK: {'iload': 10},
+                                    IXIARFC2544Profile.UPLINK: {'iload': 10}}
 
         r_f_c2544_profile.get_streams = mock.Mock()
         r_f_c2544_profile.full_profile = {}
@@ -487,9 +487,9 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_update_traffic_profile(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],  # private, one value for intfs
-            "public_0": ["xe1", "xe2"],  # public, two values for intfs
-            "public_1": ["xe3"],  # not in TRAFFIC PROFILE
+            "uplink_0": ["xe0"],  # private, one value for intfs
+            "downlink_0": ["xe1", "xe2"],  # public, two values for intfs
+            "downlink_1": ["xe3"],  # not in TRAFFIC PROFILE
             "tenant_0": ["xe4"],  # not public or private
         }
 
@@ -499,8 +499,8 @@ class TestIXIARFC2544Profile(unittest.TestCase):
 
         traffic_profile = deepcopy(self.TRAFFIC_PROFILE)
         traffic_profile.update({
-            "private_0": ["xe0"],
-            "public_0": ["xe1", "xe2"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1", "xe2"],
         })
 
         r_f_c2544_profile = IXIARFC2544Profile(traffic_profile)
@@ -513,8 +513,8 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
@@ -548,8 +548,8 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage_update(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [0]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.uplink_ports = [0]
+        traffic_generator.downlink_ports = [1]
         traffic_generator.client = \
             mock.Mock(return_value=True)
         r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
@@ -582,8 +582,8 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage_div_zero(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [0]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.uplink_ports = [0]
+        traffic_generator.downlink_ports = [1]
         traffic_generator.client = \
             mock.Mock(return_value=True)
         r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
@@ -623,8 +623,8 @@ class TestIXIARFC2544Profile(unittest.TestCase):
     def test_start_ixia_latency(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
index be172f2..a0c6018 100644 (file)
@@ -29,19 +29,38 @@ if stl_patch:
     from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxTestDataTuple
 
 
-class TestProxRampProfile(unittest.TestCase):
+class TestProxACLProfile(unittest.TestCase):
 
     def test_run_test_with_pkt_size(self):
+        def target(*args, **kwargs):
+            runs.append(args[2])
+            if args[2] < 0 or args[2] > 100:
+                raise RuntimeError(' '.join([str(args), str(runs)]))
+            if args[2] > 75.0:
+                return fail_tuple, {}
+            return success_tuple, {}
+
+        def get_mock_samples(*args, **kwargs):
+            if args[2] < 0:
+                raise RuntimeError(' '.join([str(args), str(runs)]))
+            return success_tuple
+
         tp_config = {
-            'traffic_profile': {
+           'traffic_profile': {
                 'upper_bound': 100.0,
+                'lower_bound': 0.0,
+                'tolerated_loss': 50.0,
+                'attempts': 20
             },
         }
 
+        runs = []
         success_tuple = ProxTestDataTuple(10.0, 1, 2, 3, 4, [5.1, 5.2, 5.3], 995, 1000, 123.4)
         fail_tuple = ProxTestDataTuple(10.0, 1, 2, 3, 4, [5.6, 5.7, 5.8], 850, 1000, 123.4)
 
         traffic_gen = mock.MagicMock()
+        traffic_gen.run_test = target
+
         traffic_gen.resource_helper.run_test.side_effect = [
             success_tuple,
             success_tuple,
@@ -53,14 +72,15 @@ class TestProxRampProfile(unittest.TestCase):
             fail_tuple,
         ]
 
-        fill_values = [1, 2, 3, 4, RuntimeError]
-
         profile = ProxACLProfile(tp_config)
-        profile.fill_samples = fill_samples = mock.MagicMock(side_effect=fill_values)
-        profile.queue = mock.MagicMock()
+        profile.init(mock.MagicMock())
 
-        with self.assertRaises(RuntimeError):
-            profile.run_test_with_pkt_size(traffic_gen, 128, 30)
+        profile.prox_config["attempts"] = 20
+        profile.queue = mock.MagicMock()
+        profile.tolerated_loss = 50.0
+        profile.pkt_size = 128
+        profile.duration = 30
+        profile.test_value = 100.0
+        profile.tolerated_loss = 100.0
 
-        self.assertEqual(traffic_gen.resource_helper.run_test.call_count, 5)
-        self.assertEqual(fill_samples.call_count, 5)
+        profile.run_test_with_pkt_size(traffic_gen, profile.pkt_size, profile.duration)
index 0edce7a..f56a7fb 100644 (file)
@@ -56,7 +56,7 @@ class TestProxBinSearchProfile(unittest.TestCase):
         profile = ProxBinSearchProfile(tp_config)
         profile.init(mock.MagicMock())
 
-        profile.execute(traffic_generator)
+        profile.execute_traffic(traffic_generator)
         self.assertEqual(round(profile.current_lower, 2), 74.69)
         self.assertEqual(round(profile.current_upper, 2), 75.39)
         self.assertEqual(len(runs), 8)
@@ -87,7 +87,7 @@ class TestProxBinSearchProfile(unittest.TestCase):
         profile = ProxBinSearchProfile(tp_config)
         profile.init(mock.MagicMock())
 
-        profile.execute(traffic_generator)
+        profile.execute_traffic(traffic_generator)
         self.assertEqual(round(profile.current_lower, 2), 24.06)
         self.assertEqual(round(profile.current_upper, 2), 25.47)
         self.assertEqual(len(runs), 7)
index 77bca9c..642fecc 100644 (file)
@@ -56,7 +56,7 @@ class TestProxMplsTagUntagProfile(unittest.TestCase):
         profile = ProxMplsTagUntagProfile(tp_config)
         profile.init(mock.MagicMock())
 
-        profile.execute(traffic_generator)
+        profile.execute_traffic(traffic_generator)
         self.assertEqual(round(profile.current_lower, 2), 74.69)
         self.assertEqual(round(profile.current_upper, 2), 75.39)
         self.assertEqual(len(runs), 8)
@@ -87,7 +87,7 @@ class TestProxMplsTagUntagProfile(unittest.TestCase):
         profile = ProxMplsTagUntagProfile(tp_config)
         profile.init(mock.MagicMock())
 
-        profile.execute(traffic_generator)
+        profile.execute_traffic(traffic_generator)
         self.assertEqual(round(profile.current_lower, 2), 24.06)
         self.assertEqual(round(profile.current_upper, 2), 25.47)
         self.assertEqual(len(runs), 7)
index 14223da..9899d99 100644 (file)
@@ -65,7 +65,7 @@ class TestProxProfile(unittest.TestCase):
         profile.init(234)
         self.assertEqual(profile.queue, 234)
 
-    def test_execute(self):
+    def test_execute_traffic(self):
         packet_sizes = [
             10,
             100,
@@ -83,9 +83,9 @@ class TestProxProfile(unittest.TestCase):
         self.assertFalse(profile.done)
         for _ in packet_sizes:
             with self.assertRaises(NotImplementedError):
-                profile.execute(traffic_generator)
+                profile.execute_traffic(traffic_generator)
 
-        self.assertIsNone(profile.execute(traffic_generator))
+        self.assertIsNone(profile.execute_traffic(traffic_generator))
 
     def test_bounds_iterator(self):
         tp_config = {
index b63a805..2212337 100644 (file)
@@ -50,7 +50,7 @@ class TestRFC2544Profile(unittest.TestCase):
                'name': 'rfc2544',
                'traffic_profile': {'traffic_type': 'RFC2544Profile',
                                    'frame_rate': 100},
-               'public_0': {'ipv4':
+               'downlink_0': {'ipv4':
                           {'outer_l2': {'framesize':
                                         {'64B': '100', '1518B': '0',
                                          '128B': '0', '1400B': '0',
@@ -62,7 +62,7 @@ class TestRFC2544Profile(unittest.TestCase):
                                           'dscp': 0, 'ttl': 32, 'count': 1},
                            'outer_l4': {'srcport': '2001',
                                'dsrport': '1234', 'count': 1}}},
-               'private_0': {'ipv4':
+               'uplink_0': {'ipv4':
                            {'outer_l2': {'framesize':
                                          {'64B': '100', '1518B': '0',
                                           '128B': '0', '1400B': '0',
@@ -83,8 +83,8 @@ class TestRFC2544Profile(unittest.TestCase):
     def test_execute(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
@@ -96,8 +96,8 @@ class TestRFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = mock.Mock(return_value=True)
 
@@ -143,8 +143,8 @@ class TestRFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage_update(self):
         traffic_generator = mock.Mock(autospec=RFC2544Profile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = mock.Mock(return_value=True)
 
@@ -191,8 +191,8 @@ class TestRFC2544Profile(unittest.TestCase):
     def test_get_drop_percentage_div_zero(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
         traffic_generator.networks = {
-            "private_0": ["xe0"],
-            "public_0": ["xe1"],
+            "uplink_0": ["xe0"],
+            "downlink_0": ["xe1"],
         }
         traffic_generator.client = \
             mock.Mock(return_value=True)
@@ -258,9 +258,10 @@ class TestRFC2544Profile(unittest.TestCase):
 
     def test_execute_latency(self):
         traffic_generator = mock.Mock(autospec=TrexProfile)
-        traffic_generator.my_ports = [0, 1]
-        traffic_generator.priv_ports = [-1]
-        traffic_generator.pub_ports = [1]
+        traffic_generator.networks = {
+            "private_0": ["xe0"],
+            "public_0": ["xe1"],
+        }
         traffic_generator.client = \
             mock.Mock(return_value=True)
         r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
index e0b0ce8..8355c85 100644 (file)
@@ -60,24 +60,24 @@ class TestTrexProfile(unittest.TestCase):
                'name': 'rfc2544',
                'traffic_profile': {'traffic_type': 'RFC2544Profile',
                                    'frame_rate': 100},
-               'public': {'ipv4': {'outer_l2': {'framesize': {'64B': '100',
+               TrafficProfile.DOWNLINK: {'ipv4': {'outer_l2': {'framesize': {'64B': '100',
                                                               '1518B': '0',
                                                               '128B': '0',
                                                               '1400B': '0',
                                                               '256B': '0',
                                                               '373b': '0',
                                                               '570B': '0'},
-                                                "srcmac": "00:00:00:00:00:02",
-                                                "dstmac": "00:00:00:00:00:01"},
-                                   'outer_l3v4': {'dstip4': '1.1.1.1-1.1.2.2',
+                                                               "srcmac": "00:00:00:00:00:02",
+                                                               "dstmac": "00:00:00:00:00:01"},
+                                                  'outer_l3v4': {'dstip4': '1.1.1.1-1.1.2.2',
                                                   'proto': 'udp',
                                                   'srcip4': '9.9.1.1-90.1.2.2',
                                                   'dscp': 0, 'ttl': 32,
                                                   'count': 1},
-                                   'outer_l4': {'srcport': '2001',
+                                                  'outer_l4': {'srcport': '2001',
                                                 'dsrport': '1234',
                                                 'count': 1}}},
-               'private': {'ipv4':
+               TrafficProfile.UPLINK: {'ipv4':
                            {'outer_l2': {'framesize':
                                          {'64B': '100', '1518B': '0',
                                           '128B': '0', '1400B': '0',
@@ -97,22 +97,22 @@ class TestTrexProfile(unittest.TestCase):
                   'name': 'rfc2544',
                   'traffic_profile': {'traffic_type': 'RFC2544Profile',
                                       'frame_rate': 100},
-                  'public': {'ipv6': {'outer_l2': {'framesize':
+                  TrafficProfile.DOWNLINK: {'ipv6': {'outer_l2': {'framesize':
                                                    {'64B': '100', '1518B': '0',
                                                     '128B': '0', '1400B': '0',
                                                     '256B': '0', '373b': '0',
                                                     '570B': '0'},
                                                    "srcmac": "00:00:00:00:00:02",
                                                    "dstmac": "00:00:00:00:00:01"},
-                                      'outer_l3v4': {'dstip6': '0064:ff9b:0:0:0:0:9810:6414-0064:ff9b:0:0:0:0:9810:6420',
+                                                     'outer_l3v4': {'dstip6': '0064:ff9b:0:0:0:0:9810:6414-0064:ff9b:0:0:0:0:9810:6420',
                                                      'proto': 'udp',
                                                      'srcip6': '0064:ff9b:0:0:0:0:9810:2814-0064:ff9b:0:0:0:0:9810:2820',
                                                      'dscp': 0, 'ttl': 32,
                                                      'count': 1},
-                                      'outer_l4': {'srcport': '2001',
+                                                     'outer_l4': {'srcport': '2001',
                                                    'dsrport': '1234',
                                                    'count': 1}}},
-                  'private':
+                  TrafficProfile.UPLINK:
                   {'ipv6': {'outer_l2': {'framesize':
                                          {'64B': '100', '1518B': '0',
                                           '128B': '0', '1400B': '0',
@@ -153,21 +153,21 @@ class TestTrexProfile(unittest.TestCase):
             TrexProfile(TrafficProfile)
         qinq = {"S-VLAN": {"id": 128, "priority": 0, "cfi": 0},
                 "C-VLAN": {"id": 512, "priority": 0, "cfi": 0}}
-        outer_l2 = self.PROFILE['private']['ipv4']['outer_l2']
+        outer_l2 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l2']
         outer_l2['QinQ'] = qinq
         self.assertEqual(None, trex_profile._set_outer_l2_fields(outer_l2))
 
     def test__set_outer_l3v4_fields(self):
         trex_profile = \
             TrexProfile(TrafficProfile)
-        outer_l3v4 = self.PROFILE['private']['ipv4']['outer_l3v4']
+        outer_l3v4 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l3v4']
         outer_l3v4['proto'] = 'tcp'
         self.assertEqual(None, trex_profile._set_outer_l3v4_fields(outer_l3v4))
 
     def test__set_outer_l3v6_fields(self):
         trex_profile = \
             TrexProfile(TrafficProfile)
-        outer_l3v6 = self.PROFILE_v6['private']['ipv6']['outer_l3v4']
+        outer_l3v6 = self.PROFILE_v6[TrafficProfile.UPLINK]['ipv6']['outer_l3v4']
         outer_l3v6['proto'] = 'tcp'
         outer_l3v6['tc'] = 1
         outer_l3v6['hlim'] = 10
@@ -176,19 +176,19 @@ class TestTrexProfile(unittest.TestCase):
     def test__set_outer_l4_fields(self):
         trex_profile = \
             TrexProfile(TrafficProfile)
-        outer_l4 = self.PROFILE['private']['ipv4']['outer_l4']
+        outer_l4 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l4']
         self.assertEqual(None, trex_profile._set_outer_l4_fields(outer_l4))
 
     def test_get_streams(self):
         trex_profile = \
             TrexProfile(TrafficProfile)
         trex_profile.params = self.PROFILE
-        profile_data = self.PROFILE["private"]
+        profile_data = self.PROFILE[TrafficProfile.UPLINK]
         self.assertIsNotNone(trex_profile.get_streams(profile_data))
         trex_profile.pg_id = 1
         self.assertIsNotNone(trex_profile.get_streams(profile_data))
         trex_profile.params = self.PROFILE_v6
-        trex_profile.profile_data = self.PROFILE_v6["private"]
+        trex_profile.profile_data = self.PROFILE_v6[TrafficProfile.UPLINK]
         self.assertIsNotNone(trex_profile.get_streams(profile_data))
         trex_profile.pg_id = 1
         self.assertIsNotNone(trex_profile.get_streams(profile_data))
index c2b9235..ee881c9 100644 (file)
@@ -24,6 +24,10 @@ from six.moves import range
 from yardstick.common.yaml_loader import yaml_load
 from yardstick.network_services.vnf_generic import vnfdgen
 
+
+UPLINK = "uplink"
+DOWNLINK = "downlink"
+
 TREX_VNFD_TEMPLATE = """
 vnfd:vnfd-catalog:
     vnfd:
@@ -183,22 +187,23 @@ NODE_CFG = {'ip': '1.1.1.1',
             }
 
 
+# need to template, but can't use {} so use %s
 TRAFFIC_PROFILE_TPL = """
-private:
+%(0)s:
     - ipv4:
         outer_l2:
             framesize:
-                64B: "{{ get(imix, 'private.imix_small', 10) }}"
-                128B: "{{ get(imix, 'private.imix_128B', 10) }}"
-                256B: "{{ get(imix, 'private.imix_256B', 10) }}"
-                373B: "{{ get(imix, 'private.imix_373B', 10) }}"
-                570B: "{{get(imix, 'private.imix_570B', 10) }}"
-                1400B: "{{get(imix, 'private.imix_1400B', 10) }}"
-                1518B: "{{get(imix, 'private.imix_1500B', 40) }}"
-"""
+                64B: "{{ get(imix, '%(0)s.imix_small', 10) }}"
+                128B: "{{ get(imix, '%(0)s.imix_128B', 10) }}"
+                256B: "{{ get(imix, '%(0)s.imix_256B', 10) }}"
+                373B: "{{ get(imix, '%(0)s.imix_373B', 10) }}"
+                570B: "{{get(imix, '%(0)s.imix_570B', 10) }}"
+                1400B: "{{get(imix, '%(0)s.imix_1400B', 10) }}"
+                1518B: "{{get(imix, '%(0)s.imix_1500B', 40) }}"
+""" % {"0": UPLINK}
 
 TRAFFIC_PROFILE = {
-    "private": [{"ipv4": {"outer_l2":
+    UPLINK: [{"ipv4": {"outer_l2":
                           {"framesize": {"64B": '10', "128B": '10',
                                          "256B": '10', "373B": '10',
                                          "570B": '10', "1400B": '10',
@@ -269,8 +274,8 @@ class TestVnfdGen(unittest.TestCase):
 
         generated_tp = \
             vnfdgen.generate_vnfd(TRAFFIC_PROFILE_TPL,
-                                  {"imix": {"private": {"imix_small": '20'}}})
+                                  {"imix": {UPLINK: {"imix_small": '20'}}})
         self.maxDiff = None
         tp2 = dict(TRAFFIC_PROFILE)
-        tp2["private"][0]["ipv4"]["outer_l2"]["framesize"]["64B"] = '20'
+        tp2[UPLINK][0]["ipv4"]["outer_l2"]["framesize"]["64B"] = '20'
         self.assertDictEqual(tp2, generated_tp)
index f47da37..e9444b4 100644 (file)
@@ -144,7 +144,7 @@ class TestAclApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens513f0',
-                                       'vld_id': 'public',
+                                       'vld_id': AclApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.20',
                                        'dst_mac': '00:00:00:00:00:01',
@@ -172,7 +172,7 @@ class TestAclApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens785f0',
-                                       'vld_id': 'private',
+                                       'vld_id': AclApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.20',
                                        'dst_mac': '00:00:00:00:00:02',
@@ -197,7 +197,7 @@ class TestAclApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens786f0',
-                                       'vld_id': 'private',
+                                       'vld_id': AclApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.19',
                                        'dst_mac': '00:00:00:00:00:04',
@@ -207,7 +207,7 @@ class TestAclApproxVnf(unittest.TestCase):
                                        'vpci': '0000:05:00.0',
                                        'dpdk_port_num': 0},
                                'xe1': {'local_iface_name': 'ens786f1',
-                                       'vld_id': 'public',
+                                       'vld_id': AclApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.19',
                                        'dst_mac': '00:00:00:00:00:03',
index c21beab..76f2d5b 100644 (file)
@@ -73,7 +73,7 @@ link 1 up
 
     def test__get_cgnapt_config(self):
         vnfd_helper = mock.Mock()
-        vnfd_helper.port_pairs.priv_ports = [{"name": 'a'}, {"name": "b"}, {"name": "c"}]
+        vnfd_helper.port_pairs.uplink_ports = [{"name": 'a'}, {"name": "b"}, {"name": "c"}]
 
         helper = CgnaptApproxSetupEnvHelper(vnfd_helper, mock.Mock(), mock.Mock())
         helper._get_ports_gateway = mock.Mock(side_effect=[3, 5, 2])
@@ -206,7 +206,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens513f0',
-                                       'vld_id': 'public',
+                                       'vld_id': CgnaptApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.20',
                                        'dst_mac': '00:00:00:00:00:01',
@@ -234,7 +234,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens785f0',
-                                       'vld_id': 'private',
+                                       'vld_id': CgnaptApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.20',
                                        'dst_mac': '00:00:00:00:00:02',
@@ -259,7 +259,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens786f0',
-                                       'vld_id': 'private',
+                                       'vld_id': CgnaptApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.19',
                                        'dst_mac': '00:00:00:00:00:04',
@@ -269,7 +269,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                                        'vpci': '0000:05:00.0',
                                        'dpdk_port_num': 0},
                                'xe1': {'local_iface_name': 'ens786f1',
-                                       'vld_id': 'public',
+                                       'vld_id': CgnaptApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.19',
                                        'dst_mac': '00:00:00:00:00:03',
index 821c10f..995b4a2 100644 (file)
@@ -679,7 +679,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
                             'vpci': '0000:05:00.0',
                             'local_ip': '152.16.100.19',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 0,
                             'bandwidth': '10 Gbps',
@@ -698,7 +698,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
                             'vpci': '0000:05:00.1',
                             'local_ip': '152.16.40.19',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'driver': "i40e",
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 1,
@@ -884,11 +884,11 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
         helper.upload_prox_config = mock.MagicMock(return_value='5')
 
         self.assertEqual(helper.additional_files, {})
-        self.assertNotEqual(helper.prox_config_dict, '4')
+        self.assertNotEqual(helper._prox_config_data, '4')
         self.assertNotEqual(helper.remote_path, '5')
         helper.build_config_file()
         self.assertEqual(helper.additional_files, {})
-        self.assertEqual(helper.prox_config_dict, '4')
+        self.assertEqual(helper._prox_config_data, '4')
         self.assertEqual(helper.remote_path, '5')
 
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
@@ -934,7 +934,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
             ],
         }
 
-        mock_find_path.side_effect = ['1', '2']
+        mock_find_path.side_effect = ['1', '2'] + [str(i) for i in range(len(vnf1['prox_files']))]
         vnfd_helper = mock.MagicMock()
         ssh_helper = mock.MagicMock()
         scenario_helper = ScenarioHelper('vnf1')
@@ -951,12 +951,12 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
         helper.upload_prox_config = mock.MagicMock(return_value='55')
 
         self.assertEqual(helper.additional_files, {})
-        self.assertNotEqual(helper.prox_config_dict, '44')
+        self.assertNotEqual(helper._prox_config_data, '44')
         self.assertNotEqual(helper.remote_path, '55')
         expected = {'h.i': '33', 'l': '34', 'm_n': '35'}
         helper.build_config_file()
         self.assertDictEqual(helper.additional_files, expected)
-        self.assertEqual(helper.prox_config_dict, '44')
+        self.assertEqual(helper._prox_config_data, '44')
         self.assertEqual(helper.remote_path, '55')
 
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
@@ -986,9 +986,10 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
 
         helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper)
         helper.remote_path = "/tmp/prox.cfg"
-        prox_cmd = helper.build_config()
         expected = "sudo bash -c 'cd /opt/nsb_bin; /opt/nsb_bin/prox -o cli -f  -f /tmp/prox.cfg '"
-        self.assertEqual(prox_cmd, expected)
+        with mock.patch.object(helper, "build_config_file") as mock_build_config:
+            prox_cmd = helper.build_config()
+            self.assertEqual(prox_cmd, expected)
 
     def test__insert_additional_file(self):
         vnfd_helper = mock.MagicMock()
@@ -1281,7 +1282,7 @@ class TestProxResourceHelper(unittest.TestCase):
                             'vpci': '0000:05:00.0',
                             'local_ip': '152.16.100.19',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 0,
                             'bandwidth': '10 Gbps',
@@ -1300,7 +1301,7 @@ class TestProxResourceHelper(unittest.TestCase):
                             'vpci': '0000:05:00.1',
                             'local_ip': '152.16.40.19',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'driver': "i40e",
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 1,
@@ -1392,7 +1393,7 @@ class TestProxResourceHelper(unittest.TestCase):
 
     def test_test_cores(self):
         setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
+        setup_helper.prox_config_data = []
 
         helper = ProxResourceHelper(setup_helper)
         helper._cpu_topology = []
@@ -1401,7 +1402,7 @@ class TestProxResourceHelper(unittest.TestCase):
         result = helper.test_cores
         self.assertEqual(result, expected)
 
-        setup_helper.prox_config_dict = [
+        setup_helper.prox_config_data = [
             ('section1', []),
             ('section2', [
                 ('a', 'b'),
@@ -1449,10 +1450,9 @@ class TestProxResourceHelper(unittest.TestCase):
 
     def test_get_test_type(self):
         setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
-
         helper = ProxResourceHelper(setup_helper)
-        setup_helper.prox_config_dict = [
+
+        setup_helper.prox_config_data = [
             ('global', [
                 ('name', helper.PROX_CORE_MPLS_TEST)
             ]),
@@ -1479,27 +1479,7 @@ class TestProxResourceHelper(unittest.TestCase):
 
     def test_get_cores(self):
         setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
-
-        helper = ProxResourceHelper(setup_helper)
-        helper._cpu_topology = {
-            0: {
-                1: {
-                    5: (5, 1, 0)
-                },
-                2: {
-                    6: (6, 2, 0)
-                },
-                3: {
-                    7: (7, 3, 0)
-                },
-                4: {
-                    8: (8, 3, 0)
-                },
-            }
-        }
-
-        setup_helper.prox_config_dict = [
+        setup_helper.prox_config_data = [
             ('section1', []),
             ('section2', [
                 ('a', 'b'),
@@ -1520,14 +1500,6 @@ class TestProxResourceHelper(unittest.TestCase):
             ]),
         ]
 
-        expected = [7, 8]
-        result = helper.get_cores(helper.PROX_CORE_GEN_MODE)
-        self.assertEqual(result, expected)
-
-    def test_get_cores_mpls(self):
-        setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
-
         helper = ProxResourceHelper(setup_helper)
         helper._cpu_topology = {
             0: {
@@ -1546,7 +1518,13 @@ class TestProxResourceHelper(unittest.TestCase):
             }
         }
 
-        setup_helper.prox_config_dict = [
+        expected = [7, 8]
+        result = helper.get_cores(helper.PROX_CORE_GEN_MODE)
+        self.assertEqual(result, expected)
+
+    def test_get_cores_mpls(self):
+        setup_helper = mock.MagicMock()
+        setup_helper.prox_config_data = [
             ('section1', []),
             ('section2', [
                 ('a', 'b'),
@@ -1569,6 +1547,24 @@ class TestProxResourceHelper(unittest.TestCase):
             ]),
         ]
 
+        helper = ProxResourceHelper(setup_helper)
+        helper._cpu_topology = {
+            0: {
+                1: {
+                    5: (5, 1, 0)
+                },
+                2: {
+                    6: (6, 2, 0)
+                },
+                3: {
+                    7: (7, 3, 0)
+                },
+                4: {
+                    8: (8, 3, 0)
+                },
+            }
+        }
+
         expected_tagged = [7]
         expected_plain = [8]
         result_tagged, result_plain = helper.get_cores_mpls(helper.PROX_CORE_GEN_MODE)
@@ -1577,7 +1573,7 @@ class TestProxResourceHelper(unittest.TestCase):
 
     def test_latency_cores(self):
         setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
+        setup_helper.prox_config_data= []
 
         helper = ProxResourceHelper(setup_helper)
         helper._cpu_topology = []
@@ -1586,7 +1582,7 @@ class TestProxResourceHelper(unittest.TestCase):
         result = helper.latency_cores
         self.assertEqual(result, expected)
 
-        setup_helper.prox_config_dict = [
+        setup_helper.prox_config_data = [
             ('section1', []),
             ('section2', [
                 ('a', 'b'),
@@ -1649,7 +1645,9 @@ class TestProxResourceHelper(unittest.TestCase):
     def test_start_collect(self):
         setup_helper = mock.MagicMock()
         helper = ProxResourceHelper(setup_helper)
+        helper.resource = resource = mock.MagicMock()
         self.assertIsNone(helper.start_collect())
+        resource.start.assert_called_once()
 
     def test_terminate(self):
         setup_helper = mock.MagicMock()
@@ -1681,7 +1679,7 @@ class TestProxResourceHelper(unittest.TestCase):
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
     def test_traffic_context(self, mock_time):
         setup_helper = mock.MagicMock()
-        setup_helper.prox_config_dict = {}
+        setup_helper.vnfd_helper.interfaces = []
 
         helper = ProxResourceHelper(setup_helper)
         helper._cpu_topology = {
@@ -1701,7 +1699,7 @@ class TestProxResourceHelper(unittest.TestCase):
             }
         }
 
-        setup_helper.prox_config_dict = [
+        setup_helper.prox_config_data = [
             ('global', [
                 ('name', helper.PROX_CORE_MPLS_TEST)
             ]),
@@ -1727,8 +1725,6 @@ class TestProxResourceHelper(unittest.TestCase):
             ]),
         ]
 
-        setup_helper = mock.MagicMock()
-        setup_helper.vnfd_helper.interfaces = []
 
         client = mock.MagicMock()
         client.hz.return_value = 2
@@ -1755,7 +1751,7 @@ class TestProxResourceHelper(unittest.TestCase):
                 'vpci': '0000:06:00.0',
                 'local_ip': '152.16.100.20',
                 'type': 'PCI-PASSTHROUGH',
-                'vld_id': 'private_1',
+                'vld_id': 'uplink_1',
                 'netmask': '255.255.255.0',
                 'dpdk_port_num': 0,
                 'bandwidth': '10 Gbps',
@@ -1823,20 +1819,6 @@ class TestProxResourceHelper(unittest.TestCase):
         result = helper.get_latency()
         self.assertIs(result, expected)
 
-    def test__get_logical_if_name(self):
-        setup_helper = mock.MagicMock()
-        setup_helper.vnfd_helper.interfaces = []
-
-        helper = ProxResourceHelper(setup_helper)
-        helper._vpci_to_if_name_map = {
-            'key1': 234,
-            'key2': 432,
-        }
-
-        expected = 234
-        result = helper._get_logical_if_name('key1')
-        self.assertEqual(result, expected)
-
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.ProxSocketHelper')
     def test__connect(self, mock_socket_helper_type, mock_time):
index 2e83caf..c88b152 100644 (file)
@@ -86,6 +86,7 @@ class TestProxApproxVnf(unittest.TestCase):
                             'local_ip': '152.16.100.19',
                             'type': 'PCI-PASSTHROUGH',
                             'vld_id': '',
+                            'ifname': 'xe1',
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 0,
                             'bandwidth': '10 Gbps',
@@ -104,6 +105,7 @@ class TestProxApproxVnf(unittest.TestCase):
                             'local_ip': '152.16.40.19',
                             'type': 'PCI-PASSTHROUGH',
                             'vld_id': '',
+                            'ifname': 'xe3',
                             'driver': "i40e",
                             'netmask': '255.255.255.0',
                             'dpdk_port_num': 1,
@@ -187,7 +189,7 @@ class TestProxApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens513f0',
-                        'vld_id': 'public',
+                        'vld_id': ProxApproxVnf.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.20',
                         'dst_mac': '00:00:00:00:00:01',
@@ -221,7 +223,7 @@ class TestProxApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens785f0',
-                        'vld_id': 'private',
+                        'vld_id': ProxApproxVnf.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.20',
                         'dst_mac': '00:00:00:00:00:02',
@@ -252,7 +254,7 @@ class TestProxApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens786f0',
-                        'vld_id': 'private',
+                        'vld_id': ProxApproxVnf.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.19',
                         'dst_mac': '00:00:00:00:00:04',
@@ -264,7 +266,7 @@ class TestProxApproxVnf(unittest.TestCase):
                     },
                     'xe1': {
                         'local_iface_name': 'ens786f1',
-                        'vld_id': 'public',
+                        'vld_id': ProxApproxVnf.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.19',
                         'dst_mac': '00:00:00:00:00:03',
@@ -340,7 +342,7 @@ class TestProxApproxVnf(unittest.TestCase):
 
         resource_helper = mock.MagicMock()
         resource_helper.execute.return_value = list(range(12))
-        resource_helper.collect_kpi.return_value = {'core': {'result': 234}}
+        resource_helper.collect_collectd_kpi.return_value = {'core': {'result': 234}}
 
         prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0)
         prox_approx_vnf.resource_helper = resource_helper
@@ -372,8 +374,10 @@ class TestProxApproxVnf(unittest.TestCase):
         file_path = os.path.join(curr_path, filename)
         return file_path
 
+    @mock.patch('yardstick.benchmark.scenarios.networking.vnf_generic.open', create=True)
+    @mock.patch('yardstick.network_services.vnf_generic.vnf.iniparser.open', create=True)
     @mock.patch(SSH_HELPER)
-    def test_run_prox(self, ssh, mock_time):
+    def test_run_prox(self, ssh, *_):
         mock_ssh(ssh)
 
         prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0)
@@ -382,7 +386,7 @@ class TestProxApproxVnf(unittest.TestCase):
         prox_approx_vnf.setup_helper.remote_path = 'configs/file56.cfg'
 
         expected = "sudo bash -c 'cd /tool_path12; " \
-                   "/tool_path12/tool_file34 -o cli -t  -f configs/file56.cfg '"
+                   "/tool_path12/tool_file34 -o cli -t  -f /tmp/l3-swap-2.cfg '"
 
         prox_approx_vnf._run()
         result = prox_approx_vnf.ssh_helper.run.call_args[0][0]
@@ -395,7 +399,7 @@ class TestProxApproxVnf(unittest.TestCase):
         prox_approx_vnf.setup_helper = mock.MagicMock()
         # we can't mock super
         prox_approx_vnf.instantiate(self.SCENARIO_CFG, self.CONTEXT_CFG)
-        prox_approx_vnf.setup_helper.build_config.assert_called_once
+        prox_approx_vnf.setup_helper.build_config.assert_called_once()
 
     @mock.patch(SSH_HELPER)
     def test_wait_for_instantiate_panic(self, ssh, mock_time):
index fa73348..4b9f417 100644 (file)
@@ -102,7 +102,7 @@ class TestVnfSshHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.100.20',
                             'local_mac': '00:00:00:00:00:01',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -119,7 +119,7 @@ class TestVnfSshHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.40.20',
                             'local_mac': '00:00:00:00:00:02',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -300,7 +300,7 @@ class TestSetupEnvHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.100.20',
                             'local_mac': '00:00:00:00:00:01',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -317,7 +317,7 @@ class TestSetupEnvHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.40.20',
                             'local_mac': '00:00:00:00:00:02',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -430,7 +430,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.100.20',
                             'local_mac': '00:00:00:00:00:01',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -448,7 +448,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.40.20',
                             'local_mac': '00:00:00:00:00:02',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -1029,7 +1029,7 @@ class TestClientResourceHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.100.20',
                             'local_mac': '00:00:00:00:00:01',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -1047,7 +1047,7 @@ class TestClientResourceHelper(unittest.TestCase):
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.40.20',
                             'local_mac': '00:00:00:00:00:02',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -1912,8 +1912,8 @@ class TestSampleVnf(unittest.TestCase):
 
         self.assertIsNone(sample_vnf._build_ports())
         self.assertIsNotNone(sample_vnf.networks)
-        self.assertIsNotNone(sample_vnf.priv_ports)
-        self.assertIsNotNone(sample_vnf.pub_ports)
+        self.assertIsNotNone(sample_vnf.uplink_ports)
+        self.assertIsNotNone(sample_vnf.downlink_ports)
         self.assertIsNotNone(sample_vnf.my_ports)
 
     @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
index d1f2470..eb569cf 100644 (file)
@@ -20,7 +20,6 @@ import mock
 
 from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 from tests.unit import STL_MOCKS
-from yardstick.network_services.nfvi.resource import ResourceProfile
 
 SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
 NAME = 'vnf__1'
@@ -180,7 +179,7 @@ class TestProxTrafficGen(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens513f0',
-                        'vld_id': 'public',
+                        'vld_id': ProxTrafficGen.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.20',
                         'dst_mac': '00:00:00:00:00:01',
@@ -214,7 +213,7 @@ class TestProxTrafficGen(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens785f0',
-                        'vld_id': 'private',
+                        'vld_id': ProxTrafficGen.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.20',
                         'dst_mac': '00:00:00:00:00:02',
@@ -245,7 +244,7 @@ class TestProxTrafficGen(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens786f0',
-                        'vld_id': 'private',
+                        'vld_id': ProxTrafficGen.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.19',
                         'dst_mac': '00:00:00:00:00:04',
@@ -257,7 +256,7 @@ class TestProxTrafficGen(unittest.TestCase):
                     },
                     'xe1': {
                         'local_iface_name': 'ens786f1',
-                        'vld_id': 'public',
+                        'vld_id': ProxTrafficGen.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.19',
                         'dst_mac': '00:00:00:00:00:03',
@@ -331,7 +330,8 @@ class TestProxTrafficGen(unittest.TestCase):
         mock_ssh(ssh)
 
         prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0)
-        prox_traffic_gen._vnf_wrapper.resource = mock.Mock(autospec=ResourceProfile)
+        prox_traffic_gen._vnf_wrapper.resource_helper.resource = mock.MagicMock(
+            **{"check_if_sa_running.return_value": [False]})
         prox_traffic_gen._vnf_wrapper.vnf_execute = mock.Mock(return_value="")
         self.assertEqual({}, prox_traffic_gen.collect_kpi())
 
@@ -371,12 +371,12 @@ class TestProxTrafficGen(unittest.TestCase):
             'task_path': '',
             'options': {'tg__1': {'prox_args': {'-e': '',
                                                 '-t': ''},
-                                      'prox_config': 'configs/l3-gen-2.cfg',
-                                      'prox_path': '/root/dppd-PROX-v035/build/prox'},
-                            'vnf__1': {'prox_args': {'-t': ''},
-                                       'prox_config': 'configs/l3-swap-2.cfg',
-                                       'prox_path': '/root/dppd-PROX-v035/build/prox'}
-                            }
+                                  'prox_config': 'configs/l3-gen-2.cfg',
+                                  'prox_path': '/root/dppd-PROX-v035/build/prox'},
+                        'vnf__1': {'prox_args': {'-t': ''},
+                                   'prox_config': 'configs/l3-swap-2.cfg',
+                                   'prox_path': '/root/dppd-PROX-v035/build/prox'}
+                        }
         }
         prox_traffic_gen.instantiate(scenario_cfg, {})
 
@@ -391,10 +391,10 @@ class TestProxTrafficGen(unittest.TestCase):
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         sut = ProxTrafficGen(NAME, vnfd)
-        sut.prox_config_dict = {}
         sut._get_socket = mock.MagicMock()
         sut.ssh_helper = mock.Mock()
         sut.ssh_helper.run = mock.Mock()
+        sut.setup_helper.prox_config_dict = {}
         sut._vpci_ascending = ["0000:05:00.0", "0000:05:00.1"]
         sut._connect_client = mock.Mock(autospec=STLClient)
         sut._connect_client.get_stats = mock.Mock(return_value="0")
index 0fe0c3d..637706f 100644 (file)
@@ -100,7 +100,7 @@ class TestTrexTrafficGenRFC(unittest.TestCase):
                             'local_ip': '152.16.100.19',
                             'type': 'PCI-PASSTHROUGH',
                             'netmask': '255.255.255.0',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'dpdk_port_num': 0,
                             'bandwidth': '10 Gbps',
                             'driver': "i40e",
@@ -120,7 +120,7 @@ class TestTrexTrafficGenRFC(unittest.TestCase):
                             'type': 'PCI-PASSTHROUGH',
                             'driver': "i40e",
                             'netmask': '255.255.255.0',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'dpdk_port_num': 1,
                             'bandwidth': '10 Gbps',
                             'dst_ip': '152.16.40.20',
index 4fd4c4c..eb9f052 100644 (file)
@@ -165,7 +165,7 @@ class TestTrexTrafficGen(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens786f0",
-                        "vld_id": "private",
+                        "vld_id": TrafficProfile.UPLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.0",
                         "local_ip": "152.16.100.19",
@@ -177,7 +177,7 @@ class TestTrexTrafficGen(unittest.TestCase):
                     },
                     "xe1": {
                         "local_iface_name": "ens786f1",
-                        "vld_id": "public",
+                        "vld_id": TrafficProfile.DOWNLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.1",
                         "local_ip": "152.16.40.19",
@@ -233,7 +233,7 @@ class TestTrexTrafficGen(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens513f0",
-                        "vld_id": "public",
+                        "vld_id": TrafficProfile.DOWNLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:02:00.0",
                         "local_ip": "152.16.40.20",
@@ -267,7 +267,7 @@ class TestTrexTrafficGen(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens785f0",
-                        "vld_id": "private",
+                        "vld_id": TrafficProfile.UPLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.0",
                         "local_ip": "152.16.100.20",
index 95bc08b..b75ed67 100644 (file)
@@ -78,7 +78,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                             'netmask': '255.255.255.0',
                             'dst_ip': '152.16.100.20',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -97,7 +97,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                             'netmask': '255.255.255.0',
                             'dst_ip': '152.16.40.20',
                             'type': 'PCI-PASSTHROUGH',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -200,7 +200,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens786f0",
-                        "vld_id": "private",
+                        "vld_id": UdpReplayApproxVnf.UPLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.0",
                         "local_ip": "152.16.100.19",
@@ -212,7 +212,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                     },
                     "xe1": {
                         "local_iface_name": "ens786f1",
-                        "vld_id": "public",
+                        "vld_id": UdpReplayApproxVnf.DOWNLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.1",
                         "local_ip": "152.16.40.19",
@@ -268,7 +268,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens513f0",
-                        "vld_id": "public",
+                        "vld_id": UdpReplayApproxVnf.DOWNLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:02:00.0",
                         "local_ip": "152.16.40.20",
@@ -302,7 +302,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
                 "interfaces": {
                     "xe0": {
                         "local_iface_name": "ens785f0",
-                        "vld_id": "private",
+                        "vld_id": UdpReplayApproxVnf.UPLINK,
                         "netmask": "255.255.255.0",
                         "vpci": "0000:05:00.0",
                         "local_ip": "152.16.100.20",
index 38cc177..958099a 100644 (file)
@@ -142,7 +142,7 @@ class TestFWApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens513f0',
-                                       'vld_id': 'public',
+                                       'vld_id': FWApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.20',
                                        'dst_mac': '00:00:00:00:00:01',
@@ -170,7 +170,7 @@ class TestFWApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens785f0',
-                                       'vld_id': 'private',
+                                       'vld_id': FWApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.20',
                                        'dst_mac': '00:00:00:00:00:02',
@@ -195,7 +195,7 @@ class TestFWApproxVnf(unittest.TestCase):
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens786f0',
-                                       'vld_id': 'private',
+                                       'vld_id': FWApproxVnf.UPLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.100.19',
                                        'dst_mac': '00:00:00:00:00:04',
@@ -205,7 +205,7 @@ class TestFWApproxVnf(unittest.TestCase):
                                        'vpci': '0000:05:00.0',
                                        'dpdk_port_num': 0},
                                'xe1': {'local_iface_name': 'ens786f1',
-                                       'vld_id': 'public',
+                                       'vld_id': FWApproxVnf.DOWNLINK,
                                        'netmask': '255.255.255.0',
                                        'local_ip': '152.16.40.19',
                                        'dst_mac': '00:00:00:00:00:03',
index e210aa0..757109d 100644 (file)
@@ -57,8 +57,8 @@ class TestConfigCreate(unittest.TestCase):
 
     def test___init__(self):
         config_create = ConfigCreate([0], [1], 2)
-        self.assertEqual(config_create.priv_ports, [0])
-        self.assertEqual(config_create.pub_ports, [1])
+        self.assertEqual(config_create.uplink_ports, [0])
+        self.assertEqual(config_create.downlink_ports, [1])
         self.assertEqual(config_create.socket, 2)
 
     def test_vpe_initialize(self):
@@ -110,7 +110,7 @@ class TestConfigCreate(unittest.TestCase):
         self.assertNotEqual(result, '')
 
     def test_create_vpe_config(self):
-        priv_ports = [
+        uplink_ports = [
             {
                 'index': 0,
                 'dpdk_port_num': 1,
@@ -121,7 +121,7 @@ class TestConfigCreate(unittest.TestCase):
             },
         ]
 
-        pub_ports = [
+        downlink_ports = [
             {
                 'index': 2,
                 'dpdk_port_num': 3,
@@ -132,7 +132,7 @@ class TestConfigCreate(unittest.TestCase):
             },
         ]
 
-        config_create = ConfigCreate(priv_ports, pub_ports, 23)
+        config_create = ConfigCreate(uplink_ports, downlink_ports, 23)
         curr_path = os.path.dirname(os.path.abspath(__file__))
         vpe_cfg = "samples/vnf_samples/nsut/vpe/vpe_config"
         vnf_cfg = os.path.join(curr_path, "../../../../..", vpe_cfg)
@@ -192,7 +192,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                             'dst_ip': '152.16.100.20',
                             'local_iface_name': 'xe0',
                             'local_mac': '00:00:00:00:00:02',
-                            'vld_id': 'private_0',
+                            'vld_id': 'uplink_0',
                             'ifname': 'xe0',
                         },
                         'vnfd-connection-point-ref': 'xe0',
@@ -211,7 +211,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                             'dst_ip': '152.16.40.20',
                             'local_iface_name': 'xe1',
                             'local_mac': '00:00:00:00:00:01',
-                            'vld_id': 'public_0',
+                            'vld_id': 'downlink_0',
                             'ifname': 'xe1',
                         },
                         'vnfd-connection-point-ref': 'xe1',
@@ -310,7 +310,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens513f0',
-                        'vld_id': 'public',
+                        'vld_id': VpeApproxVnf.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.20',
                         'dst_mac': '00:00:00:00:00:01',
@@ -344,7 +344,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens785f0',
-                        'vld_id': 'private',
+                        'vld_id': VpeApproxVnf.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.20',
                         'dst_mac': '00:00:00:00:00:02',
@@ -375,7 +375,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                 'interfaces': {
                     'xe0': {
                         'local_iface_name': 'ens786f0',
-                        'vld_id': 'private',
+                        'vld_id': VpeApproxVnf.UPLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.100.19',
                         'dst_mac': '00:00:00:00:00:04',
@@ -387,7 +387,7 @@ class TestVpeApproxVnf(unittest.TestCase):
                     },
                     'xe1': {
                         'local_iface_name': 'ens786f1',
-                        'vld_id': 'public',
+                        'vld_id': VpeApproxVnf.DOWNLINK,
                         'netmask': '255.255.255.0',
                         'local_ip': '152.16.40.19',
                         'dst_mac': '00:00:00:00:00:03',
@@ -536,8 +536,6 @@ class TestVpeApproxVnf(unittest.TestCase):
                                                  mock.MagicMock, mock.MagicMock)
         vpe_approx_vnf.tc_file_name = get_file_abspath(TEST_FILE_YAML)
         vpe_approx_vnf.generate_port_pairs = mock.Mock()
-        vpe_approx_vnf.tg_port_pairs = [[[0], [1]]]
-        vpe_approx_vnf.vnf_port_pairs = [[[0], [1]]]
         vpe_approx_vnf.vnf_cfg = {
             'lb_config': 'SW',
             'lb_count': 1,
index 2f3cc5a..f93dfac 100644 (file)
@@ -413,9 +413,9 @@ class HeatContext(Context):
         attr_name: either a name for a server created by yardstick or a dict
         with attribute name mapping when using external heat templates
         """
-        key_filename = pkg_resources.resource_filename(
+        pkey = pkg_resources.resource_string(
             'yardstick.resources',
-            h_join('files/yardstick_key', get_short_key_uuid(self.key_uuid)))
+            h_join('files/yardstick_key', get_short_key_uuid(self.key_uuid))).decode('utf-8')
 
         if isinstance(attr_name, collections.Mapping):
             node_name, cname = self.split_name(attr_name['name'])
@@ -436,7 +436,7 @@ class HeatContext(Context):
 
         result = {
             "user": server.context.user,
-            "key_filename": key_filename,
+            "pkey": pkey,
             "private_ip": server.private_ip,
             "interfaces": server.interfaces,
             "routing_table": self.generate_routing_table(server),
index 18ff404..450f83f 100644 (file)
@@ -64,10 +64,11 @@ class IncorrectSetup(Exception):
 
 
 class SshManager(object):
-    def __init__(self, node):
+    def __init__(self, node, timeout=120):
         super(SshManager, self).__init__()
         self.node = node
         self.conn = None
+        self.timeout = timeout
 
     def __enter__(self):
         """
@@ -76,7 +77,7 @@ class SshManager(object):
         """
         try:
             self.conn = ssh.SSH.from_node(self.node)
-            self.conn.wait()
+            self.conn.wait(timeout=self.timeout)
         except SSHError as error:
             LOG.info("connect failed to %s, due to %s", self.node["ip"], error)
         # self.conn defaults to None
@@ -171,7 +172,7 @@ class NetworkServiceTestCase(base.Scenario):
         flow = {}
         try:
             # TODO: should be .0  or .1 so we can use list
-            # but this also roughly matches private_0, public_0
+            # but this also roughly matches uplink_0, downlink_0
             fflow = self.scenario_cfg["options"]["flow"]
             for index, src in enumerate(fflow.get("src_ip", [])):
                 flow["src_ip_{}".format(index)] = self._get_ip_flow_range(src)
@@ -205,8 +206,8 @@ class NetworkServiceTestCase(base.Scenario):
         traffic_map_data = {
             'flow': self._get_traffic_flow(),
             'imix': self._get_traffic_imix(),
-            'private': {},
-            'public': {},
+            TrafficProfile.UPLINK: {},
+            TrafficProfile.DOWNLINK: {},
         }
 
         traffic_vnfd = vnfdgen.generate_vnfd(traffic_mapping, traffic_map_data)
@@ -235,7 +236,7 @@ class NetworkServiceTestCase(base.Scenario):
             # check for xe0, xe1
             intf = nodes[name]["interfaces"][if_name]
         except KeyError:
-            # if not xe0, then maybe vld_id,  private_0, public_0
+            # if not xe0, then maybe vld_id,  uplink_0, downlink_0
             # pop it and re-insert with the correct name from topology
             intf = nodes[name]["interfaces"].pop(vld_id)
             nodes[name]["interfaces"][if_name] = intf
@@ -338,7 +339,7 @@ class NetworkServiceTestCase(base.Scenario):
         netdevs = {}
         cmd = "PATH=$PATH:/sbin:/usr/sbin ip addr show"
 
-        with SshManager(node_dict) as conn:
+        with SshManager(node_dict, timeout=timeout) as conn:
             if conn:
                 exit_status = conn.execute(cmd)[0]
                 if exit_status != 0:
@@ -405,6 +406,10 @@ class NetworkServiceTestCase(base.Scenario):
 
         :return: None. Side effect: context_cfg is updated
         """
+        num_nodes = len(self.context_cfg["nodes"])
+        # OpenStack instance creation time is probably proportional to the number
+        # of instances
+        timeout = 120 * num_nodes
         for node, node_dict in self.context_cfg["nodes"].items():
 
             for network in node_dict["interfaces"].values():
@@ -415,7 +420,7 @@ class NetworkServiceTestCase(base.Scenario):
                 # only ssh probe if there are missing values
                 # ssh probe won't work on Ixia, so we had better define all our values
                 try:
-                    netdevs = self._probe_netdevs(node, node_dict)
+                    netdevs = self._probe_netdevs(node, node_dict, timeout=timeout)
                 except (SSHError, SSHTimeout):
                     raise IncorrectConfig(
                         "Unable to probe missing interface fields '%s', on node %s "
@@ -499,6 +504,10 @@ printf "%s/driver:" $1 ; basename $(readlink -s $1/device/driver); } \
         ext_intfs = vnfd["vdu"][0]["external-interface"] = []
         # have to sort so xe0 goes first
         for intf_name, intf in sorted(node['interfaces'].items()):
+            # only interfaces with vld_id are added.
+            # Thus there are two layers of filters, only intefaces with vld_id
+            # show up in interfaces, and only interfaces with traffic profiles
+            # are used by the generators
             if intf.get('vld_id'):
                 # force dpkd_port_num to int so we can do reverse lookup
                 try:
@@ -540,6 +549,13 @@ printf "%s/driver:" $1 ; basename $(readlink -s $1/device/driver); } \
             vnfd = vnfdgen.generate_vnfd(vnf_model, node)
             # TODO: here add extra context_cfg["nodes"] regardless of template
             vnfd = vnfd["vnfd:vnfd-catalog"]["vnfd"][0]
+            # force inject pkey if it exists
+            # we want to standardize Heat using pkey as a string so we don't rely
+            # on the filesystem
+            try:
+                vnfd['mgmt-interface']['pkey'] = node['pkey']
+            except KeyError:
+                pass
             self.create_interfaces_from_node(vnfd, node)
             vnf_impl = self.get_vnf_impl(vnfd['id'])
             vnf_instance = vnf_impl(node_name, vnfd)
index 7054b92..5f87f78 100644 (file)
@@ -64,15 +64,15 @@ SCRIPT_TPL = """
 
 class PortPairs(object):
 
-    PUBLIC = "public"
-    PRIVATE = "private"
+    DOWNLINK = "downlink"
+    UPLINK = "uplink"
 
     def __init__(self, interfaces):
         super(PortPairs, self).__init__()
         self.interfaces = interfaces
         self._all_ports = None
-        self._priv_ports = None
-        self._pub_ports = None
+        self._uplink_ports = None
+        self._downlink_ports = None
         self._networks = None
         self._port_pair_list = None
         self._valid_networks = None
@@ -93,62 +93,63 @@ class PortPairs(object):
         return self._networks
 
     @classmethod
-    def get_public_id(cls, vld_id):
+    def get_downlink_id(cls, vld_id):
         # partition returns a tuple
-        parts = list(vld_id.partition(cls.PRIVATE))
+        parts = list(vld_id.partition(cls.UPLINK))
         if parts[0]:
-            # 'private' was not in or not leftmost in the string
+            # 'uplink' was not in or not leftmost in the string
             return
-        parts[1] = cls.PUBLIC
+        parts[1] = cls.DOWNLINK
         public_id = ''.join(parts)
         return public_id
 
     @property
-    # this only works for vnfs that have both private and public visible
+    # this only works for vnfs that have both uplink and public visible
     def valid_networks(self):
         if self._valid_networks is None:
             self._valid_networks = []
             for vld_id in self.networks:
-                public_id = self.get_public_id(vld_id)
-                if public_id in self.networks:
-                    self._valid_networks.append((vld_id, public_id))
+                downlink_id = self.get_downlink_id(vld_id)
+                if downlink_id in self.networks:
+                    self._valid_networks.append((vld_id, downlink_id))
         return self._valid_networks
 
     @property
     def all_ports(self):
         if self._all_ports is None:
-            self._all_ports = sorted(set(self.priv_ports + self.pub_ports))
+            self._all_ports = sorted(set(self.uplink_ports + self.downlink_ports))
         return self._all_ports
 
     @property
-    def priv_ports(self):
-        if self._priv_ports is None:
+    def uplink_ports(self):
+        if self._uplink_ports is None:
             intfs = chain.from_iterable(
                 intfs for vld_id, intfs in self.networks.items() if
-                vld_id.startswith(self.PRIVATE))
-            self._priv_ports = sorted(set(intfs))
-        return self._priv_ports
+                vld_id.startswith(self.UPLINK))
+            self._uplink_ports = sorted(set(intfs))
+        return self._uplink_ports
 
     @property
-    def pub_ports(self):
-        if self._pub_ports is None:
+    def downlink_ports(self):
+        if self._downlink_ports is None:
             intfs = chain.from_iterable(
-                intfs for vld_id, intfs in self.networks.items() if vld_id.startswith(self.PUBLIC))
-            self._pub_ports = sorted(set(intfs))
-        return self._pub_ports
+                intfs for vld_id, intfs in self.networks.items() if
+                vld_id.startswith(self.DOWNLINK))
+            self._downlink_ports = sorted(set(intfs))
+        return self._downlink_ports
 
     @property
     def port_pair_list(self):
         if self._port_pair_list is None:
             self._port_pair_list = []
 
-            for priv, pub in self.valid_networks:
-                for private_intf in self.networks[priv]:
-                    # only VNFs have private, public peers
-                    peer_intfs = self.networks.get(pub, [])
+            for uplink, downlink in self.valid_networks:
+                for uplink_intf in self.networks[uplink]:
+                    # only VNFs have uplink, public peers
+                    peer_intfs = self.networks.get(downlink, [])
                     if peer_intfs:
-                        for public_intf in peer_intfs:
-                            port_pair = private_intf, public_intf
+                        for downlink_intf in peer_intfs:
+                            port_pair = uplink_intf, downlink_intf
                             self._port_pair_list.append(port_pair)
         return self._port_pair_list
 
@@ -341,9 +342,9 @@ class MultiPortConfig(object):
         priv_to_pub_map = [tuple(self.vnfd_helper.port_nums(x)) for x in self.port_pairs]
         # must be list to use .index()
         port_list = list(chain.from_iterable(priv_to_pub_map))
-        priv_ports = (x[0] for x in priv_to_pub_map)
+        uplink_ports = (x[0] for x in priv_to_pub_map)
         self.prv_que_handler = '({})'.format(
-            "".join(("{},".format(port_list.index(x)) for x in priv_ports)))
+            "".join(("{},".format(port_list.index(x)) for x in uplink_ports)))
 
     def generate_arp_route_tbl(self):
         arp_route_tbl_tmpl = "({port0_dst_ip_hex},{port0_netmask_hex},{port_num}," \
index 1ec00e5..4b90650 100644 (file)
@@ -113,10 +113,10 @@ class IxNextgen(object):
     }
 
     MODE_SEEDS_MAP = {
-        0: ('private_0', ['256', '2048']),
+        0: ('uplink_0', ['256', '2048']),
     }
 
-    MODE_SEEDS_DEFAULT = 'public_0', ['2048', '256']
+    MODE_SEEDS_DEFAULT = 'downlink_0', ['2048', '256']
 
     @staticmethod
     def find_view_obj(view_name, views):
index 611792b..ad256b4 100644 (file)
@@ -22,6 +22,8 @@ class TrafficProfile(object):
     This class defines the behavior
 
     """
+    UPLINK = "uplink"
+    DOWNLINK = "downlink"
 
     @staticmethod
     def get(tp_config):
index 049a81a..cb8a347 100644 (file)
@@ -78,7 +78,7 @@ class IXIARFC2544Profile(TrexProfile):
 
     def _ixia_traffic_generate(self, traffic_generator, traffic, ixia_obj):
         for key, value in traffic.items():
-            if "public" in key or "private" in key:
+            if key.startswith((self.UPLINK, self.DOWNLINK)):
                 value["iload"] = str(self.rate)
         ixia_obj.ix_update_frame(traffic)
         ixia_obj.ix_update_ether(traffic)
@@ -90,7 +90,7 @@ class IXIARFC2544Profile(TrexProfile):
     def update_traffic_profile(self, traffic_generator):
         def port_generator():
             for vld_id, intfs in sorted(traffic_generator.networks.items()):
-                if not vld_id.startswith(("private", "public")):
+                if not vld_id.startswith((self.UPLINK, self.DOWNLINK)):
                     continue
                 profile_data = self.params.get(vld_id)
                 if not profile_data:
index cb6246f..7f2255d 100644 (file)
@@ -26,6 +26,10 @@ class ProxACLProfile(ProxProfile):
     """
     This profile adds a single stream at the beginning of the traffic session
     """
+
+    def __init__(self, tp_config):
+        super(ProxACLProfile, self).__init__(tp_config)
+
     def run_test_with_pkt_size(self, traffic_gen, pkt_size, duration):
         """Run the test for a single packet size.
 
@@ -39,17 +43,9 @@ class ProxACLProfile(ProxProfile):
         """
 
         test_value = self.upper_bound
-
         # throughput and packet loss from the last successful test
-        while test_value == self.upper_bound:
-            result = traffic_gen.resource_helper.run_test(pkt_size, duration,
-                                                          test_value, self.tolerated_loss)
-
-            if result.success:
-                LOG.debug("Success! ")
-            else:
-                LOG.debug("Failure...")
-
-            samples = result.get_samples(pkt_size)
-            self.fill_samples(samples, traffic_gen)
+        for _ in range(self.prox_config["attempts"]):
+            result, port_samples = traffic_gen.run_test(pkt_size, duration,
+                                                        test_value, self.tolerated_loss)
+            samples = result.get_samples(pkt_size, result.pkt_loss, port_samples)
             self.queue.put(samples)
index daeaf42..0a9de9b 100644 (file)
@@ -88,7 +88,7 @@ class ProxProfile(TrafficProfile):
     def run_test_with_pkt_size(self, traffic_generator, pkt_size, duration):
         raise NotImplementedError
 
-    def execute(self, traffic_generator):
+    def execute_traffic(self, traffic_generator):
         try:
             pkt_size = next(self.pkt_size_iterator)
         except StopIteration:
index 6a0ecaf..16e809b 100644 (file)
@@ -58,7 +58,8 @@ class RFC2544Profile(TrexProfile):
             if not profile_data:
                 continue
             # correlated traffic doesn't use public traffic?
-            if vld_id.startswith("public") and self.generator.rfc2544_helper.correlated_traffic:
+            if vld_id.startswith(self.DOWNLINK) and \
+                self.generator.rfc2544_helper.correlated_traffic:
                 continue
             for intf in intfs:
                 port = self.generator.vnfd_helper.port_num(intf)
@@ -151,34 +152,30 @@ class RFC2544Profile(TrexProfile):
         return samples
 
     def execute_latency(self, generator=None, samples=None):
-        if generator is None:
-            generator = self.generator
+        if generator is not None and self.generator is None:
+            self.generator = generator
 
         if samples is None:
-            samples = generator.generate_samples()
+            samples = self.generator.generate_samples()
 
         self.pps, multiplier = self.calculate_pps(samples)
         self.ports = []
         self.pg_id = self.params['traffic_profile'].get('pg_id', 1)
-        priv_ports = generator.priv_ports
-        pub_ports = generator.pub_ports
-        for index, (priv_port, pub_port) in enumerate(zip(priv_ports, pub_ports), 1):
-            profile_data = self.params.get('private_{}'.format(index), '')
-            self.ports.append(priv_port)
-            generator.client.add_streams(self.get_streams(profile_data),
-                                         ports=priv_port)
-
-            profile_data = self.params.get('public_{}'.format(index), '')
-            if not profile_data or generator.correlated_traffic:
+        for vld_id, intfs in sorted(self.generator.networks.items()):
+            profile_data = self.params.get(vld_id)
+            if not profile_data:
                 continue
+            # correlated traffic doesn't use public traffic?
+            if vld_id.startswith(self.DOWNLINK) and \
+                self.generator.rfc2544_helper.correlated_traffic:
+                continue
+            for intf in intfs:
+                port = self.generator.vnfd_helper.port_num(intf)
+                self.ports.append(port)
+                self.generator.client.add_streams(self.get_streams(profile_data), ports=port)
 
-            pub_port = generator.pub_ports[index]
-            self.ports.append(pub_port)
-            generator.client.add_streams(self.get_streams(profile_data),
-                                         ports=pub_port)
-
-        generator.start_client(ports=self.ports, mult=str(multiplier),
-                               duration=120, force=True)
+        self.generator.start_client(ports=self.ports, mult=str(multiplier),
+                                    duration=120, force=True)
         self.first_run = False
 
     def calculate_pps(self, samples):
index 894126c..3feb92b 100644 (file)
@@ -134,7 +134,7 @@ class TrexProfile(TrafficProfile):
                                                            seed=0x1235)
             self.vm_flow_vars.append(stl_vm_flow_var)
             stl_vm_wr_flow_var = STLVmWrFlowVar(fv_name='port_{}'.format(field),
-                                                pkt_offset=self.udp_sport)
+                                                pkt_offset=self.udp[field])
             self.vm_flow_vars.append(stl_vm_wr_flow_var)
         return partial
 
@@ -156,8 +156,10 @@ class TrexProfile(TrafficProfile):
         self.ip_packet = None
         self.ip6_packet = None
         self.udp_packet = None
-        self.udp_dport = ''
-        self.udp_sport = ''
+        self.udp = {
+            SRC_PORT: '',
+            DST_PORT: '',
+        }
         self.qinq_packet = None
         self.qinq = False
         self.vm_flow_vars = []
@@ -266,8 +268,8 @@ class TrexProfile(TrafficProfile):
             ip_params['proto'] = socket.getprotobyname(outer_l3v4['proto'])
             if outer_l3v4['proto'] == 'tcp':
                 self.udp_packet = Pkt.TCP()
-                self.udp_dport = 'TCP.dport'
-                self.udp_sport = 'TCP.sport'
+                self.udp[DST_PORT] = 'TCP.dport'
+                self.udp[SRC_PORT] = 'TCP.sport'
                 tcp_params = {'flags': '', 'window': 0}
                 self._set_proto_fields(UDP, **tcp_params)
         if 'ttl' in outer_l3v4:
@@ -289,8 +291,8 @@ class TrexProfile(TrafficProfile):
             ip6_params['proto'] = outer_l3v6['proto']
             if outer_l3v6['proto'] == 'tcp':
                 self.udp_packet = Pkt.TCP()
-                self.udp_dport = 'TCP.dport'
-                self.udp_sport = 'TCP.sport'
+                self.udp[DST_PORT] = 'TCP.dport'
+                self.udp[SRC_PORT] = 'TCP.sport'
                 tcp_params = {'flags': '', 'window': 0}
                 self._set_proto_fields(UDP, **tcp_params)
         if 'ttl' in outer_l3v6:
@@ -364,8 +366,8 @@ class TrexProfile(TrafficProfile):
         self.ip_packet = Pkt.IP()
         self.ip6_packet = None
         self.udp_packet = Pkt.UDP()
-        self.udp_dport = 'UDP.dport'
-        self.udp_sport = 'UDP.sport'
+        self.udp[DST_PORT] = 'UDP.dport'
+        self.udp[SRC_PORT] = 'UDP.sport'
         self.qinq = False
         self.vm_flow_vars = []
         outer_l2 = packet_definition.get('outer_l2', None)
index e32e5fb..42e3d2a 100644 (file)
@@ -123,6 +123,10 @@ class VnfdHelper(dict):
 
 class VNFObject(object):
 
+    # centralize network naming convention
+    UPLINK = PortPairs.UPLINK
+    DOWNLINK = PortPairs.DOWNLINK
+
     def __init__(self, name, vnfd):
         super(VNFObject, self).__init__()
         self.name = name
index 45ef757..b5072c1 100644 (file)
@@ -70,8 +70,8 @@ class CgnaptApproxSetupEnvHelper(DpdkVnfSetupEnvHelper):
             interfaces = self.vnfd_helper.interfaces
 
         # fixme: Get private port and gateway from port list
-        priv_ports = self.vnfd_helper.port_pairs.priv_ports
-        return [self._get_ports_gateway(intf["name"]) for intf in priv_ports]
+        uplink_ports = self.vnfd_helper.port_pairs.uplink_ports
+        return [self._get_ports_gateway(intf["name"]) for intf in uplink_ports]
 
 
 class CgnaptApproxVnf(SampleVNF):
index 00ab6c2..d247101 100644 (file)
@@ -28,6 +28,7 @@ from contextlib import contextmanager
 from itertools import repeat, chain
 
 import six
+from multiprocessing import Queue
 from six.moves import zip, StringIO
 from six.moves import cStringIO
 
@@ -597,8 +598,9 @@ class ProxDpdkVnfSetupEnvHelper(DpdkVnfSetupEnvHelper):
         self.remote_path = None
         super(ProxDpdkVnfSetupEnvHelper, self).__init__(vnfd_helper, ssh_helper, scenario_helper)
         self.remote_prox_file_name = None
-        self.prox_config_dict = None
+        self._prox_config_data = None
         self.additional_files = {}
+        self.config_queue = Queue()
 
     def _build_pipeline_kwargs(self):
         tool_path = self.ssh_helper.provision_tool(tool_file=self.APP_NAME)
@@ -758,6 +760,15 @@ class ProxDpdkVnfSetupEnvHelper(DpdkVnfSetupEnvHelper):
 
         return remote_path
 
+    CONFIG_QUEUE_TIMEOUT = 120
+
+    @property
+    def prox_config_data(self):
+        if self._prox_config_data is None:
+            # this will block, but it needs too
+            self._prox_config_data = self.config_queue.get(True, self.CONFIG_QUEUE_TIMEOUT)
+        return self._prox_config_data
+
     def build_config_file(self):
         task_path = self.scenario_helper.task_path
         options = self.scenario_helper.options
@@ -771,13 +782,17 @@ class ProxDpdkVnfSetupEnvHelper(DpdkVnfSetupEnvHelper):
             prox_files = [prox_files]
         for key_prox_file in prox_files:
             base_prox_file = os.path.basename(key_prox_file)
-            remote_prox_file = self.copy_to_target(key_prox_file, base_prox_file)
+            key_prox_path = find_relative_file(key_prox_file, task_path)
+            remote_prox_file = self.copy_to_target(key_prox_path, base_prox_file)
             self.additional_files[base_prox_file] = remote_prox_file
 
-        self.prox_config_dict = self.generate_prox_config_file(config_path)
-        self.remote_path = self.upload_prox_config(config_file, self.prox_config_dict)
+        self._prox_config_data = self.generate_prox_config_file(config_path)
+        # copy config to queue so we can read it from traffic_runner process
+        self.config_queue.put(self._prox_config_data)
+        self.remote_path = self.upload_prox_config(config_file, self._prox_config_data)
 
     def build_config(self):
+        self.build_config_file()
 
         options = self.scenario_helper.options
 
@@ -793,6 +808,7 @@ class ProxDpdkVnfSetupEnvHelper(DpdkVnfSetupEnvHelper):
         return prox_cmd
 
 
+# this might be bad, sometimes we want regular ResourceHelper methods, like collect_kpi
 class ProxResourceHelper(ClientResourceHelper):
 
     RESOURCE_WORD = 'prox'
@@ -891,8 +907,17 @@ class ProxResourceHelper(ClientResourceHelper):
             LOG.debug("tg_prox done")
             self._terminated.value = 1
 
-    def start_collect(self):
-        pass
+    # For VNF use ResourceHelper method to collect KPIs directly.
+    # for TG leave the superclass ClientResourceHelper collect_kpi_method intact
+    def collect_collectd_kpi(self):
+        return self._collect_resource_kpi()
+
+    def collect_kpi(self):
+        result = super(ProxResourceHelper, self).collect_kpi()
+        # add in collectd kpis manually
+        if result:
+            result['collect_stats'] = self._collect_resource_kpi()
+        return result
 
     def terminate(self):
         # should not be called, use VNF terminate
@@ -966,7 +991,7 @@ class ProxResourceHelper(ClientResourceHelper):
 
     def get_test_type(self):
         test_type = None
-        for section_name, section in self.setup_helper.prox_config_dict:
+        for section_name, section in self.setup_helper.prox_config_data:
             if section_name != "global":
                 continue
 
@@ -979,7 +1004,7 @@ class ProxResourceHelper(ClientResourceHelper):
     def get_cores(self, mode):
         cores = []
 
-        for section_name, section in self.setup_helper.prox_config_dict:
+        for section_name, section in self.setup_helper.prox_config_data:
             if not section_name.startswith("core"):
                 continue
 
@@ -994,7 +1019,7 @@ class ProxResourceHelper(ClientResourceHelper):
     def get_cores_mpls(self, mode=PROX_CORE_GEN_MODE):
         cores_tagged = []
         cores_plain = []
-        for section_name, section in self.setup_helper.prox_config_dict:
+        for section_name, section in self.setup_helper.prox_config_data:
             if not section_name.startswith("core"):
                 continue
 
@@ -1023,9 +1048,6 @@ class ProxResourceHelper(ClientResourceHelper):
             return self.sut.lat_stats(self._latency_cores)
         return []
 
-    def _get_logical_if_name(self, vpci):
-        return self._vpci_to_if_name_map[vpci]
-
     def _connect(self, client=None):
         """Run and connect to prox on the remote system """
         # De-allocating a large amount of hugepages takes some time. If a new
index bef7c5a..2ac6ea4 100644 (file)
@@ -82,7 +82,9 @@ class ProxApproxVnf(SampleVNF):
             "packets_in": tx_total,
             "packets_dropped": (tx_total - rx_total),
             "packets_fwd": rx_total,
-            "collect_stats": self.resource_helper.collect_kpi(),
+            # we share ProxResourceHelper with TG, but we want to collect
+            # collectd KPIs here and not TG KPIs, so use a different method name
+            "collect_stats": self.resource_helper.collect_collectd_kpi(),
         }
         LOG.debug("%s collect KPIs %s", self.APP_NAME, result)
         return result
@@ -102,10 +104,3 @@ class ProxApproxVnf(SampleVNF):
         self.setup_helper.kill_vnf()
         self._tear_down()
         self.resource_helper.stop_collect()
-
-    def instantiate(self, scenario_cfg, context_cfg):
-        # build config in parent process so we can access
-        # config from TG subprocesses
-        self.scenario_helper.scenario_cfg = scenario_cfg
-        self.setup_helper.build_config_file()
-        super(ProxApproxVnf, self).instantiate(scenario_cfg, context_cfg)
index 96e7030..557009d 100644 (file)
@@ -416,8 +416,9 @@ class ClientResourceHelper(ResourceHelper):
 
     def _build_ports(self):
         self.networks = self.vnfd_helper.port_pairs.networks
-        self.priv_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.priv_ports)
-        self.pub_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.pub_ports)
+        self.uplink_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.uplink_ports)
+        self.downlink_ports = \
+            self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.downlink_ports)
         self.all_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.all_ports)
 
     def get_stats(self, *args, **kwargs):
@@ -689,8 +690,8 @@ class SampleVNF(GenericVNF):
         self.context_cfg = None
         self.nfvi_context = None
         self.pipeline_kwargs = {}
-        self.priv_ports = None
-        self.pub_ports = None
+        self.uplink_ports = None
+        self.downlink_ports = None
         # TODO(esm): make QueueFileWrapper invert-able so that we
         #            never have to manage the queues
         self.q_in = Queue()
@@ -704,8 +705,8 @@ class SampleVNF(GenericVNF):
     def _build_ports(self):
         self._port_pairs = PortPairs(self.vnfd_helper.interfaces)
         self.networks = self._port_pairs.networks
-        self.priv_ports = self.vnfd_helper.port_nums(self._port_pairs.priv_ports)
-        self.pub_ports = self.vnfd_helper.port_nums(self._port_pairs.pub_ports)
+        self.uplink_ports = self.vnfd_helper.port_nums(self._port_pairs.uplink_ports)
+        self.downlink_ports = self.vnfd_helper.port_nums(self._port_pairs.downlink_ports)
         self.my_ports = self.vnfd_helper.port_nums(self._port_pairs.all_ports)
 
     def _get_route_data(self, route_index, route_type):
@@ -786,8 +787,9 @@ class SampleVNF(GenericVNF):
 
             LOG.info("Waiting for %s VNF to start.. ", self.APP_NAME)
             time.sleep(1)
-            # put newline to force new prompt?
-            self.q_in.put("\r\n")
+            # Send ENTER to display a new prompt in case the prompt text was corrupted
+            # by other VNF output
+            self.q_in.put('\r\n')
 
     def _build_run_kwargs(self):
         self.run_kwargs = {
index 93e4969..a73c691 100644 (file)
@@ -58,8 +58,9 @@ class IxiaResourceHelper(ClientResourceHelper):
             rfc_helper_type = IxiaRfc2544Helper
 
         self.rfc_helper = rfc_helper_type(self.scenario_helper)
-        self.priv_ports = None
-        self.pub_ports = None
+        self.uplink_ports = None
+        self.downlink_ports = None
+        self._connect()
 
     def _connect(self, client=None):
         self.client._connect(self.vnfd_helper)
@@ -68,8 +69,8 @@ class IxiaResourceHelper(ClientResourceHelper):
         return self.client.ix_get_statistics()
 
     def stop_collect(self):
-        self._terminated.value = 0
-        if self.client and self.client.ixnet:
+        self._terminated.value = 1
+        if self.client:
             self.client.ix_stop_traffic()
 
     def generate_samples(self, ports, key=None, default=None):
@@ -117,7 +118,6 @@ class IxiaResourceHelper(ClientResourceHelper):
         default = "00:00:00:00:00:00"
 
         self._build_ports()
-        self._connect()
 
         # we don't know client_file_name until runtime as instantiate
         client_file_name = \
@@ -142,24 +142,27 @@ class IxiaResourceHelper(ClientResourceHelper):
         ixia_file = find_relative_file("ixia_traffic.cfg",
                                        self.scenario_helper.scenario_cfg["task_path"])
         # Generate ixia traffic config...
-        while not self._terminated.value:
-            traffic_profile.execute_traffic(self, self.client, mac, ixia_file)
-            self.client_started.value = 1
-            time.sleep(WAIT_FOR_TRAFFIC)
+        try:
+            while not self._terminated.value:
+                traffic_profile.execute(self, self.client, mac, ixia_file)
+                self.client_started.value = 1
+                time.sleep(WAIT_FOR_TRAFFIC)
+                self.client.ix_stop_traffic()
+                samples = self.generate_samples()
+                self._queue.put(samples)
+                status, samples = traffic_profile.get_drop_percentage(self, samples, min_tol,
+                                                                      max_tol, self.client, mac,
+                                                                      ixia_file)
+
+                current = samples['CurrentDropPercentage']
+                if min_tol <= current <= max_tol or status == 'Completed':
+                    self._terminated.value = 1
+
             self.client.ix_stop_traffic()
-            samples = self.generate_samples(traffic_profile.ports)
             self._queue.put(samples)
-            status, samples = traffic_profile.get_drop_percentage(self, samples, min_tol,
-                                                                  max_tol, self.client, mac,
-                                                                  ixia_file)
-
-            current = samples['CurrentDropPercentage']
-            if min_tol <= current <= max_tol or status == 'Completed' or \
-                self.rfc_helper.is_done():
-                break
-
-        self.client.ix_stop_traffic()
-        self._queue.put(samples)
+        except Exception:
+            LOG.info("Run Traffic terminated")
+            pass
 
         if not self.rfc_helper.is_done():
             self._terminated.value = 1
index 8877338..6b77797 100644 (file)
@@ -117,7 +117,7 @@ class UdpReplayApproxVnf(SampleVNF):
             "packets_in": get_sum(1),
             "packets_fwd": get_sum(2),
             "packets_dropped": get_sum(3) + get_sum(4),
-            "collect_stats": {},
+            'collect_stats': self.resource_helper.collect_kpi(),
         }
 
         LOG.debug("UDP Replay collect KPIs %s", result)
index 72c1514..cd4a008 100644 (file)
@@ -50,13 +50,13 @@ class ConfigCreate(object):
         config.set(tm_q, 'cfg', '/tmp/full_tm_profile_10G.cfg')
         return config
 
-    def __init__(self, priv_ports, pub_ports, socket):
+    def __init__(self, uplink_ports, downlink_ports, socket):
         super(ConfigCreate, self).__init__()
         self.sw_q = -1
         self.sink_q = -1
         self.n_pipeline = 1
-        self.priv_ports = priv_ports
-        self.pub_ports = pub_ports
+        self.uplink_ports = uplink_ports
+        self.downlink_ports = downlink_ports
         self.pipeline_per_port = 9
         self.socket = socket
 
@@ -76,7 +76,7 @@ class ConfigCreate(object):
         return config
 
     def vpe_rxq(self, config):
-        for port in self.pub_ports:
+        for port in self.downlink_ports:
             new_section = 'RXQ{0}.0'.format(port)
             config.add_section(new_section)
             config.set(new_section, 'mempool', 'MEMPOOL1')
@@ -102,7 +102,7 @@ class ConfigCreate(object):
             for k, v in parser.items(pipeline):
                 if k == "pktq_in":
                     if "RXQ" in v:
-                        value = "RXQ{0}.0".format(self.priv_ports[index])
+                        value = "RXQ{0}.0".format(self.uplink_ports[index])
                     else:
                         value = self.get_sink_swq(parser, pipeline, k, index)
 
@@ -110,7 +110,7 @@ class ConfigCreate(object):
 
                 elif k == "pktq_out":
                     if "TXQ" in v:
-                        value = "TXQ{0}.0".format(self.pub_ports[index])
+                        value = "TXQ{0}.0".format(self.downlink_ports[index])
                     else:
                         self.sw_q += 1
                         value = self.get_sink_swq(parser, pipeline, k, index)
@@ -134,9 +134,9 @@ class ConfigCreate(object):
                     if "RXQ" not in v:
                         value = self.get_sink_swq(parser, pipeline, k, index)
                     elif "TM" in v:
-                        value = "RXQ{0}.0 TM{1}".format(self.pub_ports[index], index)
+                        value = "RXQ{0}.0 TM{1}".format(self.downlink_ports[index], index)
                     else:
-                        value = "RXQ{0}.0".format(self.pub_ports[index])
+                        value = "RXQ{0}.0".format(self.downlink_ports[index])
 
                     parser.set(pipeline, k, value)
 
@@ -145,9 +145,9 @@ class ConfigCreate(object):
                         self.sw_q += 1
                         value = self.get_sink_swq(parser, pipeline, k, index)
                     elif "TM" in v:
-                        value = "TXQ{0}.0 TM{1}".format(self.priv_ports[index], index)
+                        value = "TXQ{0}.0 TM{1}".format(self.uplink_ports[index], index)
                     else:
-                        value = "TXQ{0}.0".format(self.priv_ports[index])
+                        value = "TXQ{0}.0".format(self.uplink_ports[index])
 
                     parser.set(pipeline, k, value)
 
@@ -165,7 +165,7 @@ class ConfigCreate(object):
             config = self.vpe_initialize(config)
             config = self.vpe_rxq(config)
             config.write(cfg_file)
-            for index in range(0, len(self.priv_ports)):
+            for index in range(0, len(self.uplink_ports)):
                 config = self.vpe_upstream(vnf_cfg, index)
                 config.write(cfg_file)
                 config = self.vpe_downstream(vnf_cfg, index)
@@ -174,7 +174,7 @@ class ConfigCreate(object):
 
     def generate_vpe_script(self, interfaces):
         rules = PipelineRules(pipeline_id=1)
-        for priv_port, pub_port in zip(self.priv_ports, self.pub_ports):
+        for priv_port, pub_port in zip(self.uplink_ports, self.downlink_ports):
             priv_intf = interfaces[priv_port]["virtual-interface"]
             pub_intf = interfaces[pub_port]["virtual-interface"]
 
@@ -215,8 +215,8 @@ class VpeApproxSetupEnvHelper(DpdkVnfSetupEnvHelper):
 
     def _build_vnf_ports(self):
         self._port_pairs = PortPairs(self.vnfd_helper.interfaces)
-        self.priv_ports = self._port_pairs.priv_ports
-        self.pub_ports = self._port_pairs.pub_ports
+        self.uplink_ports = self._port_pairs.uplink_ports
+        self.downlink_ports = self._port_pairs.downlink_ports
         self.all_ports = self._port_pairs.all_ports
 
     def build_config(self):
@@ -226,8 +226,8 @@ class VpeApproxSetupEnvHelper(DpdkVnfSetupEnvHelper):
         }
 
         self._build_vnf_ports()
-        vpe_conf = ConfigCreate(self.vnfd_helper.port_pairs.priv_ports,
-                                self.vnfd_helper.port_pairs.pub_ports, self.socket)
+        vpe_conf = ConfigCreate(self.vnfd_helper.port_pairs.uplink_ports,
+                                self.vnfd_helper.port_pairs.downlink_ports, self.socket)
         vpe_conf.create_vpe_config(self.scenario_helper.vnf_cfg)
 
         config_basename = posixpath.basename(self.CFG_CONFIG)