From 2d66234fe3b8b3e104e63218b5120a35ca400ea5 Mon Sep 17 00:00:00 2001 From: ahothan Date: Fri, 4 Aug 2017 17:26:33 -0700 Subject: Add support for multiple physnets for sr-iov Update config plugin config Add readable error message on exception Change-Id: Ie22de349582abc34d7e62570118022463f835d64 Signed-off-by: ahothan --- docs/testing/user/userguide/index.rst | 1 + docs/testing/user/userguide/sriov.rst | 60 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 docs/testing/user/userguide/sriov.rst (limited to 'docs/testing/user/userguide') diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst index a7eb1e9..fa9d7d0 100644 --- a/docs/testing/user/userguide/index.rst +++ b/docs/testing/user/userguide/index.rst @@ -23,6 +23,7 @@ Table of Content installation examples advanced + sriov server faq diff --git a/docs/testing/user/userguide/sriov.rst b/docs/testing/user/userguide/sriov.rst new file mode 100644 index 0000000..c63a6d7 --- /dev/null +++ b/docs/testing/user/userguide/sriov.rst @@ -0,0 +1,60 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. (c) Cisco Systems, Inc + + +Testing SR-IOV +============== + +NFVbench supports SR-IOV with the PVP and PVVP packet flows. SR-IOV support is not applicable for external chains since the networks have to be setup externally (and can themselves be pre-set to use SR-IOV or not). + +Pre-requisites +-------------- +To test SR-IOV you need to have compute nodes configured to support one or more SR-IOV interfaces (also knows as PF or physical function) and you need OpenStack to be configured to support SR-IOV. +You will also need to know: +- the name of the physical networks associated to your SR-IOV interfaces (this is a configuration in Nova compute) +- the VLAN range that can be used on the switch ports that are wired to the SR-IOV ports. Such switch ports are normally configured in trunk mode with a range of VLAN ids enabled on that port + +For example, in the case of 2 SR-IOV ports per compute node, 2 physical networks are generally configured in OpenStack with a distinct name. The VLAN range to use is is also allocated and reserved by the network administrator and in coordination with the corresponding top of rack switch port configuration. + + +Configuration +------------- +To enable SR-IOV test, you will need to provide the following configuration options to NFVbench (in the configuration file). +This example instructs NFVbench to create the left and right networks of a PVP packet flow to run on 2 SRIOV ports named "phys_sriov0" and "phys_sriov1" using resp. segmentation_id 2000 and 2001: + +.. code-block:: bash + + internal_networks: + left: + segmentation_id: 2000 + physical_network: phys_sriov0 + right: + segmentation_id: 2001 + physical_network: phys_sriov1 + +The segmentation ID fields must be different. +In the case of PVVP, the middle network also needs to be provisioned properly. +The same physical network can also be shared by the virtual networks but with different segmentation IDs. + + +NIC NUMA socket placement and flavors +------------------------------------- +If the 2 selected ports reside on NICs that are on different NUMA sockets, you will need to explicitly tell Nova to use 2 numa nodes in the flavor used for the VMs in order to satisfy the filters, for example: + +.. code-block:: bash + + flavor: + # Number of vCPUs for the flavor + vcpus: 2 + # Memory for the flavor in MB + ram: 8192 + # Size of local disk in GB + disk: 0 + extra_specs: + "hw:cpu_policy": dedicated + "hw:mem_page_size": large + "hw:numa_nodes": 2 + +Failure to do so might cause the VM creation to fail with the Nova error "Instance creation error: Insufficient compute resources: Requested instance NUMA topology together with requested PCI devices cannot fit the given host NUMA topology." + -- cgit 1.2.3-korg