官方文檔查看地址:
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