From 9bf492e01dad7309287e8491ec7ac29f43032aed Mon Sep 17 00:00:00 2001 From: Dino Madarang Date: Tue, 3 Oct 2017 01:02:17 +0000 Subject: 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 Signed-off-by: Kavindya Deegala Reviewed-by: Alain Jebara Reviewed-by: Deepak S Reviewed-by: Emma Foley Reviewed-by: Rodolfo Alonso Hernandez Reviewed-by: Ross Brattain Reviewed-by: Edward MacGillivray Signed-off-by: Dhaval Patel Signed-off-by: Ross Brattain --- .../vnf_samples/vnf_descriptors/router_vnf.yaml | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 samples/vnf_samples/vnf_descriptors/router_vnf.yaml (limited to 'samples/vnf_samples/vnf_descriptors/router_vnf.yaml') diff --git a/samples/vnf_samples/vnf_descriptors/router_vnf.yaml b/samples/vnf_samples/vnf_descriptors/router_vnf.yaml new file mode 100644 index 000000000..3325540b3 --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/router_vnf.yaml @@ -0,0 +1,48 @@ +# 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: RouterVNF + name: RouterVNF + short-name: RouterVnf + description: RouterVNF + mgmt-interface: + vdu-id: routervnf-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 %} + vdu: + - id: routervnf-baremetal + name: routervnf-baremetal + description: RouterVNF + vm-flavor: + vcpu-count: '4' + memory-mb: '4096' + routing_table: {{ routing_table }} + nd_route_tbl: {{ nd_route_tbl }} + benchmark: + kpi: + - packets_in + - packets_fwd + - packets_dropped -- cgit 1.2.3-korg