The fast path configuration wizard¶
The configuration wizard simplifies the fast path configuration through simplified menus. It allows interactively selecting network ports, CPU cores, cryptographic hardware accelerators, etc.
Interactively configure the fast path¶
# fast-path.sh config -i
Fast path configuration
=======================
1 - Select fast path ports and polling cores
2 - Select a hardware crypto accelerator
3 - Advanced configuration
4 - Advanced plugin configuration
5 - Display configuration
S - Save configuration and exit
Q - Quit
Enter selection [S]:
The option “1 - Select fast path ports and polling cores” allows assigning physical ports to the fast path.
Fast path port selection
========================
Core/port mapping mode is auto
== ============ == ========== ============== ======================================
# PCI or Name Id Interface Selected cores NIC full name
== ============ == ========== ============== ======================================
1 0000:01:00.0 0 mgmt0 Intel Corporation 82575EB Gigabit Netw
2 0000:01:00.1 0 eth0 Intel Corporation 82575EB Gigabit Netw
3 0000:03:00.0 0 eth1 auto Intel Corporation 82599ES 10-Gigabit S
4 0000:03:00.1 0 eth2 auto Intel Corporation 82599ES 10-Gigabit S
5 0000:06:00.0 0 eth3 auto Intel Corporation 82599ES 10-Gigabit S
6 0000:06:00.1 0 eth4 auto Intel Corporation 82599ES 10-Gigabit S
== ============ == ========== ============== ======================================
A - Add a virtual device
C - Switch to manual core/port mapping mode
M - Set the fast path core mask (current: auto)
E - Manually configure FP_PORTS (current: all -mgmt0 -eth0)
B - Back
Enter selection [B]:
Dump the fast path user configuration¶
# fast-path.sh config --dump --strip-comments
Configuring Fast Path...
: ${FP_MEMORY:=+512}
: ${FP_PORTS:='all -mgmt0 -eth0'}
The output may be empty if all parameters are set to their default values.
Dump the fast path fully-evaluated configuration¶
# fast-path.sh config --dump --strip-comments --full
Configuring Fast Path...
FP_MASK=1-23
FP_MEMORY=509,621
HUGEPAGES_DIR=/mnt/huge
VM_MEMORY=0
RESERVE_FP_HUGEPAGES=off
FP_PORTS='0000:03:00.0 0000:03:00.1 0000:06:00.0 0000:06:00.1'
FP_VDEVS=''
EAL_ADDONS=''
NB_MEM_CHANNELS=3
CRYPTO_TYPE=software
EAL_OPTIONS=''
CORE_PORT_MAPPING=auto
NB_MBUF=32768,49152
LINUX2FP_MASK=auto
FPNSDK_OPTIONS=''
EXPERT_FPCONF=off
DEBUG_FPCONF=off
This shows the effective configuration, which depends on:
the user configuration
the system (number of CPUs, NICs, …)
Most automatic parameters are evaluated to their value (ex: amount of memory, fast path cores mask, …). It corresponds to the configuration passed to the fast path.
This is useful to understand for instance how much memory or how many mbufs are reserved for the fast path.
Check the configuration validity:
# fast-path.sh config --check
Configuring Fast Path...
Check configuration
===================
WARNING - FP_MEMORY user value 500 (176 on this socket) is lower than auto value (240) for socket 0
WARNING - FP_MEMORY user value 500 (323 on this socket) is lower than auto value (438) for socket 1
Configuration check done.
This mode displays warnings if the user configuration seems to be invalid.
Display the selected fast path ports and their polling cores¶
# fast-path.sh config --display
Configuring Fast Path...
Fast path configuration info
============================
Selected ethernet card
----------------------
Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) PCI card mounted on eth1 with cores 2,4,6,8,10,12,14,16,18,20,22
Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) PCI card mounted on eth3 with cores 2,4,6,8,10,12,14,16,18,20,22
Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) PCI card mounted on eth4 with cores 2,4,6,8,10,12,14,16,18,20,22
Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) PCI card mounted on eth5 with cores 2,4,6,8,10,12,14,16,18,20,22
Display system information¶
# fast-path.sh config --machinedisplay
Configuring Fast Path...
General information
-------------------
Processor name: Intel(R) Xeon(R) CPU X5680 @ 3.33GHz
Sockets 2, Cores 12, Hyperthreads 24
Multi channel memory architecture: 3 channels
socket 0
--------
CPU information
Core 0 = [ 0- 12] Core 1 = [ 2- 14] Core 2 = [ 16- 4]
Core 8 = [ 18- 6] Core 9 = [ 8- 20] Core 10 = [ 10- 22]
Ethernet PCI information:
Id Interface NIC full name
============ ========== ======================================================
0000:03:00.0 eth1 Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network
0000:03:00.1 eth3 Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network
0000:06:00.0 eth4 Mellanox
0000:06:00.0 eth5 Mellanox
0000:0a:00.0 eth6 Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network
0000:0a:00.1 eth7 Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network
Available crypto:
Intel Multi-Buffer
Cavium Networks Device 0011 (on bus 0000:0b:00.0)
socket 1
--------
CPU information
Core 0 = [ 1- 13] Core 1 = [ 3- 15] Core 2 = [ 17- 5]
Core 8 = [ 19- 7] Core 9 = [ 9- 21] Core 10 = [ 11- 23]
Available crypto:
Intel Multi-Buffer
Update an old configuration¶
# fast-path.sh config --update
or
# fast-path.sh config --update --file /path/to/myfile
The wizard parses the configuration and update it, removing deprecated options and adding comments. This may be useful when upgrading your version of 6WINDGate.
Unsupported options in the wizard¶
The following options cannot be configured in the wizard:
FP_OPTIONS
specific
FPNSDK_OPTIONS
, especially those related to the mapping of cores to crypto devicesEAL_OPTIONS
MAINLOOP_DELAY_US
These options should be updated manually in the fast-path.env
configuration file.
See also
For details about what can be set in EAL_OPTIONS
and FPNSDK_OPTIONS
,
refer to:
The FPN-SDK Baseline and FPN-SDK Add-on for DPDK documentation