官方文档查看地址:
http://doc.dpdk.org/guides/linux_gsg/build_sample_apps.html
PDF下载地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-getting-started-guide.html
本篇难度系数:
翻译:★☆☆☆☆
理解:★☆☆☆☆
7.EAL参数
本文档包含所有EAL参数的列表。运行在Linux上的任何DPDK应用程序都可以使用这些参数。
7.1命令行EAL参数
下面的EAL参数对于DPDK支持的所有平台都是通用的。
7.1.1Lcore-related选项
-
-c <core mask>
设置要运行的核心的十六进制位掩码。 -
-l <core list>
要运行的内核列表
参数格式为< c1 >[-c2][,c3[-c4],…]其中c1、c2等为0 ~ 128之间的核心索引。 -
--lcores <core map>
将lcore集映射到物理cpu集
参数格式为:
<lcores[@cpus]>[<,lcores[@cpus]>…]
Lcore和CPU列表按组内的(
和)
进行分组。-
字符用作范围分隔符,并且,
用作单个数字分隔符。对于单个元素组,可以省略分组()
。如果cpu和lcore值相同,可以省略@
。
请注意
在给定的实例中,只能使用一个核心选项--lcore
、-l
或-c
。
-
--master-lcore <core ID>
用作主机的核心ID。 -
-s <service core mask>
用作服务核心的核心的十六进制位掩码。
7.1.2设备相关选项
-
-b, --pci-blacklist <[domain:]bus:devid.func>
黑名单一种PCI设备,以防止EAL使用它。允许多个-b选项。
请注意
PCI黑名单不能与-w
选项一起使用。
-
-w, --pci-whitelist <[domain:]bus:devid.func>
在白色列表中添加一个PCI设备。
请注意
PCI白名单不能与-b
选项一起使用。
-
--vdev <device arguments>
使用以下格式添加虚拟设备:
< driver >< id >[,key=val, …]
例如:
–vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap’ -
-d <path to shared object or directory>
加载外部驱动。参数可以是单个共享对象文件,也可以是包含多个驱动程序共享对象的目录。允许多个-d选项。 -
--no-pci
禁用PCI总线。
7.1.3多进程相关选项
-
--proc-type <primary|secondary|auto>
设置当前进程的类型。
7.1.4内存相关的选项
-
-n <number of channels>
设置要使用的内存通道的数量。 -
-r <number of ranks>
设置内存级别的数量(默认情况下自动检测)。 -
-m <megabytes>
启动时要预分配的内存量。 -
--in-memory
不要创建任何共享数据结构并完全在内存中运行。暗示--no-shconf
和(如果适用的话)--huge-unlink
。 -
--iova-mode <pa|va>
强制IOVA模式到一个特定的值。
7.1.5调试选项
-
--no-shconf
没有创建共享文件(意味着没有辅助进程支持) -
--no-huge
使用匿名内存而不是大页(意味着不支持辅助进程) -
--log-level <type:val>
指定日志级别为特定组件,例如:-
--log-level eal:8
可以多次指定。
-
7.1.6其他选项
-
-h, --help
显示列出所有EAL参数的帮助消息。
Display help message listing all EAL parameters. -
-v
在启动时显示版本信息。 -
mbuf-pool-ops-name:
要使用的mbuf的池操作程序名称。
7.2. Linux-specific EAL 参数
除了常见的EAL参数外,还有特定于linux的EAL参数。
7.2.1Device-related 选项
-
--create-uio-dev
为绑定到igb_uio内核驱动程序的设备创建/dev/uioX文件(通常由igb_uio驱动程序本身完成)。 -
--vmware-tsc-map
使用VMware TSC map代替本地RDTSC。 -
--no-hpet
不要使用HPET定时器。 -
--vfio-intr
为绑定到VFIO内核驱动程序的设备使用指定的中断模式。
7.2.2. Multiprocessing-related 选项
-
--file-prefix
为DPDK进程使用不同的共享数据文件前缀。此选项允许在不同前缀下运行多个独立的DPDK主/辅助进程。 -
--base-virtaddr
尝试为主DPDK进程的所有内存映射使用不同的起始地址。如果辅助进程由于地址映射中的冲突而无法启动,这将非常有用。
7.2.3. Memory-related 选项
-
--legacy-mem
使用旧的DPDK内存分配模式。
Use legacy DPDK memory allocation mode. -
--socket-mem
为每个套接字预先分配指定数量的内存。参数是一个逗号分隔的值列表。例如:- –socket-mem 1024,2048
这将在套接字0上分配1g内存,在套接字1上分配2048 mb内存。
- –socket-mem 1024,2048
-
--socket-limit
为内存使用设置每个套接字的上限(仅限非遗留内存模式)。0将禁用特定套接字的限制。 -
--single-file-segments
在hugetlbfs(仅非遗留模式)中创建更少的文件。 -
--huge-dir
使用指定的hugetlbfs目录代替自动检测目录。 -
--huge-unlink
在创建hugepage文件之后断开它们的链接(意味着不支持辅助进程)。 -
--match-allocations
免费的大页返回到系统中,与它们最初分配时完全一样。
7.2.4. 其他选项
-
--syslog
syslog工具集。有效的syslog工具包括:
auth
cron
daemon
ftp
kern
lpr
mail
news
syslog
user
uucp
local0
local1
local2
local3
local4
local5
local6
local7