testpmdのコマンドライン
testpmd
は、EALの引数および、testpmdの引数をとる。引数の仕切りは--
で区分けする。
例えば下記の場合、EALとtestpmdの引数はそれぞれ以下となる。
sudo ./dpdk-testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
EAL固有の引数
-
-a
# 利用するPCIデバイスのアドレス指定
testpmd固有の引数
-
--eth-peer=N,XX:XX:XX:XX:XX:XX
# eth-peerの設定set eth-peer
相当 -
--forward-mode=xxxxx
# forwardモードの設定。set fwd
相当 -
-i
# インターラクティブモードの選択 -
--mbuf-size
# mbufのサイズの設定。これで、set txpkts
の上限が決まる。 -
--nb-cores=
# 利用するCPUコア数の指定。 -
--no-numa
# numaを使わない場合に設定 -
--port-topology=mode
# ポートトポロジーの設定 -
--rxq=
# 受信キューの数の設定 -
--stats-period
# 統計取得間隔の指定。ただし-i
を使っていない場合。 -
--tx-first
# tx_firstの設定。start tx_first
相当 -
--tx-ip=SRC,DST
# (パケットforwardのtxonlyモード限定) パケットのSRCとDSTのIPアドレス設定 -
--txpkts
# パケットサイズの設定。set txpkts
相当 -
--txq=
# 送信キューの数の指定
testpmd内のインターラクティブコマンド
起動時にtestpmdのtestpmd固有の引数として-i
を指定した場合、インターラクティブモードになる。そして、以下のコマンドが使える。
ドキュメント
interactiveモードでは、タブを打つと選択できるオプションが表示される。
例えば、以下のような操作をするとオプションが表示される。
testpmd> show port <TAB>
また、以下のコマンドがある
help
制御
start
start tx_first
stop
quit
設定
-
set
-
eth-peer
# peerの設定 (ポート番号と対向MACアドレスの設定) -
fwd
# パケット転送モード-
io
# デフォルト転送モード -
icmpecho
# icmpechoの応答をする -
rxonly
# 受信のみ -
txonly
# 送信のみ
-
-
txpkts
# 一度に送るパケットサイズを設定する。デフォルト64バイト -
verbose
# ログの出力モード 0 (default)から3まで
-
ポート状態監視
最後の0はポート番号、もしくは引数allを使う
-
show
-
config
# 設定状態-
fwd
# 転送状態
-
-
port
# ポート状態info all
summary all
stats all
xstats all
-
ログ出力
/var/log/syslog
等に出力される。該当行は、dpdk-testpmd
の文字列が入っている。
Feb 7 01:05:35 ip-192-168-158-79 dpdk-testpmd[1511]: EAL: VFIO support initialized
Feb 7 01:05:35 ip-192-168-158-79 dpdk-testpmd[1511]: EAL: Using IOMMU type 8 (No-IOMMU)
Feb 7 01:05:35 ip-192-168-158-79 kernel: [ 3746.818263] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (dpdk-testpmd:1511)
Feb 7 01:05:35 ip-192-168-158-79 dpdk-testpmd[1511]: EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
Feb 7 01:05:36 ip-192-168-158-79 kernel: [ 3747.262723] vfio-pci 0000:00:07.0: vfio-noiommu device opened by user (dpdk-testpmd:1511)
Feb 7 01:05:36 ip-192-168-158-79 dpdk-testpmd[1511]: EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:07.0 (socket -1)
Feb 7 01:05:36 ip-192-168-158-79 dpdk-testpmd[1511]: TELEMETRY: No legacy callbacks, legacy socket not created
Feb 7 01:05:36 ip-192-168-158-79 dpdk-testpmd[1511]: testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0
Feb 7 01:05:36 ip-192-168-158-79 dpdk-testpmd[1511]: testpmd: preferred mempool ops selected: ring_mp_mc
Feb 7 01:22:06 ip-192-168-158-79 dpdk-testpmd[1511]: ena_rx_queue_release(): Rx queue 0:0 released
Feb 7 01:22:06 ip-192-168-158-79 dpdk-testpmd[1511]: ena_tx_queue_release(): Tx queue 0:0 released
Feb 7 01:22:06 ip-192-168-158-79 dpdk-testpmd[1511]: ena_rx_queue_release(): Rx queue 1:0 released
Feb 7 01:22:06 ip-192-168-158-79 dpdk-testpmd[1511]: ena_tx_queue_release(): Tx queue 1:0 released
Feb 7 01:22:06 ip-192-168-158-79 kernel: [ 4737.767038] eal-intr-thread[1512]: segfault at 583 ip 00005644e5cbc987 sp 00007f38b841f2e0 error 4 in dpdk-testpmd[5644e4c22000+14d6000]
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: EAL: VFIO support initialized
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: EAL: Using IOMMU type 8 (No-IOMMU)
Feb 7 02:59:11 ip-192-168-158-79 kernel: [10562.800089] vfio-pci 0000:00:06.0: vfio-noiommu device opened by user (dpdk-testpmd:1670)
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket -1)
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: TELEMETRY: No legacy callbacks, legacy socket not created
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0
Feb 7 02:59:11 ip-192-168-158-79 dpdk-testpmd[1670]: testpmd: preferred mempool ops selected: ring_mp_mc
Feb 7 03:02:02 ip-192-168-158-79 dpdk-testpmd[1670]: ena_rx_queue_release(): Rx queue 0:0 released
Feb 7 03:02:02 ip-192-168-158-79 dpdk-testpmd[1670]: ena_tx_queue_release(): Tx queue 0:0 released
Feb 7 03:02:02 ip-192-168-158-79 kernel: [10733.966442] eal-intr-thread[1671]: segfault at 443 ip 000056519d78c987 sp 00007f05136762e0 error 4 in dpdk-testpmd[56519c6f2000+14d6000]
文書
-
dpdk.org
- 様々なドキュメントはここから
-
Getting Started Guide for Linux
- 9. EAL parameters # EALの引数
- Sample Applications User Guides
-
Testpmd Application User Guide (TAUG)
- 3. Running the Application # コマンド引数
- 4. Testpmd Runtime Functions # インタープリター内でのコマンド
開発関連レポジトリ
-
Bugzilla – Main Page
- Bugを検索する時
-
git.dpdk.org/dpdk
- 開発レポジトリを確認する時
-
PatchWork
- 投稿されているパッチを確認する場合