devstack

Parameter list

A list of devstack parameters added by networking-spp is shown with a brief description.

Details will be explained separately into some categories later.

parameter default content
DPDK_GIT_REPO http://dpdk.org/git/dpdk DPDK repository
DPDK_GIT_TAG v18.08 branch(tag) of DPDK
DPDK_DIR $DEST/DPDK-$DPDK_GIT_TAG DPDK installation directory
RTE_TARGET x86_64-native-linuxapp-gcc DPDK build target
RTE_SDK $DPDK_DIR Used when building SPP
SPP_GIT_REPO http://dpdk.org/git/apps/spp SPP repository
SPP_GIT_TAG v18.08 branch(tag) of SPP
SPP_DIR $DEST/SPP-$SPP_GIT_TAG SPP installation directory
SPP_DPDK_BUILD_SKIP $OFFLINE specify to skip DPDK/SPP build
SPP_ALLOCATE_HUGEPAGES False specify to allocate hugepages in devstack
SPP_NUM_HUGEPAGES 2048 number of hugepages to allocate
SPP_HUGEPAGE_MOUNT /mnt/huge mount directory for hugepage
SPP_MODE compute ‘compute’ or ‘control’
DPDK_PORT_MAPPINGS <must be specified> configuration information
SPP_MIRROR “” mirror configuration
SPP_COMPONENT_CONF “” component configuration file
SPP_PRIMARY_SOCKET_MEM 1024 –socket-mem of spp_primary
SPP_PRIMARY_CORE_MASK 0x02 core_mask of spp_primary
SPP_PRIMATY_SOCK_PORT 5555 socket port for spp_primary
SPP_SECONDARY_SOCK_PORT 6666 socket port for spp_vf
SPP_API_PORT 7777 spp-ctl web API port number
SPP_CTL_IP_ADDR 127.0.0.1 bind ip address of spp-ctl
SPP_HOST $(hostname -s) host name
ETCD_HOST $SERVICE_HOST etcd host
ETCD_PORT 2379 etcd port

Required parameter for control node

SPP_MODE

Specify ‘control’ for control node. Note that this parameter is not necessary to specify for compute node since the default value is ‘compute’.

This is the only parameter that needs to be specified for control node.

Required parameters for compute node

DPDK_PORT_MAPPINGS

Specify configuration information for the NICs assigned for SPP.

The format for each NIC is as follows:

<PCI address>#<physical_network>#<number of vhostusers>#<core_mask>
PCI address
PCI address of the NIC.
physical_network
physical_network of the neutron network corresponding to the NIC.
number of vhostusers
number of vhostusers to be allocated on the NIC.
core_mask
core_mask of the spp_vf process corresponding to the NIC. This is a parameter passed directly to the DPDK option ‘-c’ of spp_vf. See SPP or DPDK document for details. See Example of core mask setting of spp processes also.

As a whole, specify all the NICs for SPP by separating them with a comma(,) in order of PCI address (i.e. in order of DPDK port).

example:

DPDK_PORT_MAPPINGS=00:04.0#phys1#2#0xfe,00:05.0#phys2#2#xfc02

SPP_MIRROR

Specify mirror configuration for tap-as-a-service(taas). This must be specified if taas is used on the compute node. See Using tap-as-a-service for details.

SPP_COMPONENT_CONF

Specify the path name that defines component configuration with yaml format if non default component configuration is defined.

See Customization of the components construction about yaml definition.

SPP_PRIMARY_SOCKET_MEM

Specify the amount of hugepage (MB) used by SPP. In the case of multiple numa nodes, specify the assignment for each node with a comma. This is a parameter passed directly to the DPDK option ‘–socket-mem’ of spp_primary. See SPP or DPDK document for details.

example:

SPP_PRIMARY_SOCKET_MEM=1024,1024

SPP_PRIMARY_CORE_MASK

core_mask of the spp_primary process. This is a parameter passed directly to the DPDK option ‘-c’ of spp_primary. See SPP or DPDK document for details. See Example of core mask setting of spp processes also.

Option parameters for compute node

SPP_ALLOCATE_HUGEPAGES

It is recommended that hugepages are allocated at kernel boot, but it can be done at devstack execution. If you want to allocate hugepages when running devstack, set this parameter to True.

SPP_NUM_HUGEPAGES

The number of hugepages to be allocated for each numa node. Note that the size of hugepage is default hugepage size. It must be specified and is only valid when SPP_ALLOCATE_HUGEPAGES is True.

SPP_HUGEPAGE_MOUNT

Specify the mount point of hugepage for SPP. It is better to separate the mount point of hugepage for SPP and for VM. Normally, there is no problem with default(/mnt/huge). Devstack mounts it at execution if necessary, so you do not have to mount them beforehand.

Other parameters

Normally, other parameters do not need to be specified, so the detail explanation is omitted.