This document contains a list of all EAL parameters. These parameters can be used by any DPDK application running on Linux.
-
1、Common EAL parameters
The following EAL parameters are common to all platforms supported by DPDK.-
1.1、Lcore-related options
1.1.1、-c <core mask>
Set the hexadecimal bitmask of the cores to run on.
1.1.2、-l <core list>
List of cores to run on
The argument format is [-c2][,c3[-c4],…] where c1, c2, etc are core indexes between 0 and 128.
1.1.3、–lcores <core map>
Map lcore set to physical cpu setThe argument format is:
<lcores[@cpus]>[<,lcores[@cpus]>…]
Lcore and CPU lists are grouped by ( and ) Within the group. The - character is used as a range separator and , is used as a single number separator. The grouping () can be omitted for single element group. The @ can be omitted if cpus and lcores have the same value.1.1.4、–main-lcore <core ID>
Core ID that is used as main.
1.1.5、-s <service core mask>
Hexadecimal bitmask of cores to be used as service cores. -
1.2、Device-related options
1.2.1、-b, --block <[domain:]bus:devid.func>
Skip probing a PCI device to prevent EAL from using it. Multiple -b options are allowed.
Block list cannot be used with the allow list -a option.
1.2.2、-a, --allow <[domain:]bus:devid.func>
Add a PCI device in to the list of devices to probe.
Allow list cannot be used with the block list -b option.
1.2.3、 –vdev <device arguments>
Add a virtual device using the format:<driver><id>[,key=val, ...]
For example:
--vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
1.2.4、-d <path to shared object or directory>
Load external drivers. An argument can be a single shared object file, or a directory containing multiple driver shared objects. Multiple -d options are allowed.
1.2.5、–no-pci
–no-pci -
1.3、Multiprocessing-related options
1.3.1、–proc-type <primary|secondary|auto>
Set the type of the current process
1.3.2、–base-virtaddr
Attempt to use a different starting address for all memory maps of the primary DPDK process.
This can be helpful if secondary processes cannot start due to conflicts in address map. -
1.4、Memory-related options
1.4.1、-n <number of channels>
Set the number of memory channels to use.
1.4.2、-r <number of ranks>
Set the number of memory ranks (auto-detected by default).
1.4.2、-m <megabytes>
Amount of memory to preallocate at startup.
1.4.3、–in-memory
Do not create any shared data structures and run entirely in memory. Implies --no-shconf and (if applicable) --huge-unlink.
1.4.4、–iova-mode <pa|va>
Force IOVA mode to a specific value.
1.4.5、–huge-worker-stack[=size]
Allocate worker stack memory from hugepage memory. Stack size defaults to system pthread stack size unless the optional size (in kbytes) is specified. -
1.5、Debugging options
-
1.6、Other options
-
-
2、Linux-specific EAL parameters
-
2.1、Device-related options
-
2.2、Multiprocessing-related options
-
2.3、Memory-related options
2.3.1、–legacy-mem
Use legacy DPDK memory allocation mode.
2.3.2、–socket-mem <amounts of memory per socket>
Preallocate specified amounts of memory per socket. The parameter is a comma-separated list of values. For example:
This will allocate 1 gigabyte of memory on socket 0, and 2048 megabytes of memory on socket 1.--socket-mem 1024,2048
-
2.4、Other options