samples: Add generic L3 forwarder tests 95/44295/16
authorDino Madarang <dinox.madarang@intel.com>
Tue, 3 Oct 2017 01:02:17 +0000 (01:02 +0000)
committerRoss Brattain <ross.b.brattain@intel.com>
Sat, 16 Dec 2017 08:18:27 +0000 (00:18 -0800)
commit9bf492e01dad7309287e8491ec7ac29f43032aed
tree852528f5a17b6fa1fef4028afee6eb79fd32c79a
parent6cfec77db6b95af5b31b741d513955ee3dfa3bb2
samples: Add generic L3 forwarder tests

A generic throughput test case that can be used as a
stub code for a Linux-based VNF configured as an L3 forwarder.

Supported context:
* Standalone OVSDPDK and SRIOV
* Baremetal

Code changes:
* Allow pmd-cpu-mask and lcore mask for OVS DPDK
* router_vnf.py - configures interface IP addresses and static arp entries
  using ip command
* NFVi KPIs
* Allow cputune tag for standalone context to be able to PIN on NUMA 1 cpus

SRIOV Test cases:
* RFC2544 Ethernet framesizes, 128K Flows
* 2,4 and 6 ports
* 2 and 3 vcpus per port
*
OVSDPDK Test cases:
* RFC2544 Ethernet framesizes, 128K Flows
* 2 and 4 ports
* 2 vcpus per port
* 2 PMD threads per port

TODO:
* Documentation
* Add 6 ports tests

References:
* router_vnf.py is based on sample_vnf.py
* tc_*.yaml files are based on acl/vfw test case files

Added unitests
Added get_stats to parse ip -s link

Change-Id: Id1b969d5420dfcab7c1e695acbd2cd1655747efe
Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com>
Signed-off-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Reviewed-by: Alain Jebara <alain.jebara@intel.com>
Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Emma Foley <emma.l.foley@intel.com>
Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Reviewed-by: Ross Brattain <ross.b.brattain@intel.com>
Reviewed-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
68 files changed:
samples/vnf_samples/nsut/router/router-tg-topology-4port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/router-tg-topology-6port.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/router-tg-topology.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_baremetal_rfc2544_ipv4_1flow_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1024B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1280B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_128B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_1518B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_256B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_512B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_5cores_2ports_64B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1024B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1280B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_128B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_1518B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_256B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_512B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_heat_external_rfc2544_ipv4_128Kflows_9cores_4ports_64B.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_5cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_ovs_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_13cores_6ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_7cores_2ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1024B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1280B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_128B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_1518B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_256B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_512B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/nsut/router/tc_sriov_rfc2544_ipv4_128Kflows_9cores_4ports_64B_trex.yaml [new file with mode: 0644]
samples/vnf_samples/traffic_profiles/ipv4_throughput-2.yaml
samples/vnf_samples/traffic_profiles/ipv4_throughput-3.yaml [new file with mode: 0644]
samples/vnf_samples/vnf_descriptors/router_vnf.yaml [new file with mode: 0644]
tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py [new file with mode: 0644]
yardstick/benchmark/contexts/standalone/model.py
yardstick/benchmark/contexts/standalone/ovs_dpdk.py
yardstick/network_services/vnf_generic/vnf/router_vnf.py [new file with mode: 0644]