dpdk使用筆記

l3fwd-thread

  1. cat /proc/meminfo 查看大頁內存是否配置成功。
  2. 當運行l3fwd-thread,如何出現socket 0不能分配內存或者LPM memory allocation failed,那可能是巨頁設置的太小了,設置巨頁設置成1024。
  3. l3fwd-thread這個腳本可以幫助我們在黑窗口監控端口收包情況,如何需要打印個性化需求,則應該修改這個目錄下的main.c這個源文件,並使用make重新編譯文件。例如在pthread_rx函數中調用printf函數,來打印我們想要觀察的變量信息。下面爲命令行輸入參數:
    ./build/l3fwd-thread [EAL options] –
    -p PORTMASK [-P]
    –rx(port,queue,lcore,thread)[,(port,queue,lcore,thread)]
    –tx(lcore,thread)[,(lcore,thread)]
    [–enable-jumbo] [–max-pkt-len PKTLEN]] [–no-numa]
    [–hash-entry-num] [–ipv6] [–no-lthreads] [–stat-lcore lcore]
    [–parse-ptype]

參數說明:
-p 後面跟着一個十六進制數,表示需要配置的網卡(位掩碼形式表示),例如0x3或者3,表示需要配置網卡0和1。
-P 將所有端口設置爲混雜模式,無論數據包的Ethernet MAC目的地址如何,數據包都被接收。
–rx 收包列表。port是網卡id、queue是隊列id、lcore是處理核id、thread是線程id,都是從0開始的自然是。
–tx 發包列表。
–enable-jumbo 支持巨型幀。
–max-pkt-len 最大數據包的長度,範圍是64-9600。
–no-numa 禁用numa,numa是非統一內存訪問技術。
–hash-entry-num 指定要設置的哈希條目號(十六進制)。
–ipv6 運行ipv6數據包。
–no-lthreads 禁用lthreads模型,使用EAL線程模型。
–stat-lcore 在指定的lcore上運行CPU負載統計數據收集器。
–parse-ptype 設置使用軟件分析數據包類型。如果沒有這個選項,硬件將檢查數據包類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章