亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Pktgen-DPDK性能測試工具編譯安裝

2024-04-09 01:19:05
765
0

Pktgen-DPDK 是一個基于 DPDK(Data Plane Development Kit)的高性能數據包生成器。它主要用于網絡性能測試、基準測試和流量發生器,可以在高速網絡上生成大量的數據包,用于測試網絡設備、協議棧和應用程序的性能,支持多種常見的網絡協議(如 IPv4、IPv6、TCP、UDP)以及自定義報文格式,可以靈活地模擬不同類型的流量。本篇文章將介紹該工具的編譯安裝流程。

一、版本使用

  • DPDK:23.11.0-rc1
  • Pktgen:23.10.2

      注意:Pktgen對應DPDK使用版本的依賴比較苛刻,需要匹配合適的版本才能編譯通過。

二、前提依賴

  • meson:>= 0.47.1

  • ninja:>= 1.7.1

  • Pktgen編譯過程中碰到的其他所需依賴:
    yum install libpcap-devel
    yum install numactl-devel
    yum install numactl-libs
    pip3 install pyelftools

三、獲取DPDK與Pktgen-DPDK

git clone github.com/DPDK/dpdk.git
git clone github.com/pktgen/Pktgen-DPDK.git

四、編譯DPDK

cd dpdk
mkdir dpdklib       # 安裝目錄
mkdir dpdkbuild     # 構建目錄
meson -Denable_kmods=true -Dprefix=$(pwd)/dpdklib dpdkbuild
cd dpdkbuild
ninja
ninja install    # 安裝在dpdk/dpdklib下

五、編譯Pktgen

 設置PKG_CONFIG_PATH變量,需要指定libdpdk和numa所對應pkgconfig路徑,否則meson build會報錯

# 查找到numa庫的pkgconfig路徑為/usr/lib64/pkgconfig
export PKG_CONFIG_PATH=<YOUR PATH>/dpdk/dpdklib/lib64/pkgconfig:/usr/lib64/pkgconfig
cd Pktgen-DPDK
meson -Denable_kmods=true -Dexamples=all build

需要修改的地方:

(1)build.ninja,指定c99編譯

vim build/build.ninja

在rule c_COMPILER下的command = cc $ARGS -MD -MQ ... 這行補充-std=c99

(2)pktgen-pcap.c 第313行,強制轉化為無符號類型

vim app/pktgen-pcap.c

 pktgen-pcap.c 第313行,MAX_MBUFS_PER_PORT結果返回值強制轉化為無符號類型

最后,保存并執行,完成構建

cd build && ninja
0條評論
0 / 1000
c****k
8文章數
0粉絲數
c****k
8 文章 | 0 粉絲
原創

Pktgen-DPDK性能測試工具編譯安裝

2024-04-09 01:19:05
765
0

Pktgen-DPDK 是一個基于 DPDK(Data Plane Development Kit)的高性能數據包生成器。它主要用于網絡性能測試、基準測試和流量發生器,可以在高速網絡上生成大量的數據包,用于測試網絡設備、協議棧和應用程序的性能,支持多種常見的網絡協議(如 IPv4、IPv6、TCP、UDP)以及自定義報文格式,可以靈活地模擬不同類型的流量。本篇文章將介紹該工具的編譯安裝流程。

一、版本使用

  • DPDK:23.11.0-rc1
  • Pktgen:23.10.2

      注意:Pktgen對應DPDK使用版本的依賴比較苛刻,需要匹配合適的版本才能編譯通過。

二、前提依賴

  • meson:>= 0.47.1

  • ninja:>= 1.7.1

  • Pktgen編譯過程中碰到的其他所需依賴:
    yum install libpcap-devel
    yum install numactl-devel
    yum install numactl-libs
    pip3 install pyelftools

三、獲取DPDK與Pktgen-DPDK

git clone github.com/DPDK/dpdk.git
git clone github.com/pktgen/Pktgen-DPDK.git

四、編譯DPDK

cd dpdk
mkdir dpdklib       # 安裝目錄
mkdir dpdkbuild     # 構建目錄
meson -Denable_kmods=true -Dprefix=$(pwd)/dpdklib dpdkbuild
cd dpdkbuild
ninja
ninja install    # 安裝在dpdk/dpdklib下

五、編譯Pktgen

 設置PKG_CONFIG_PATH變量,需要指定libdpdk和numa所對應pkgconfig路徑,否則meson build會報錯

# 查找到numa庫的pkgconfig路徑為/usr/lib64/pkgconfig
export PKG_CONFIG_PATH=<YOUR PATH>/dpdk/dpdklib/lib64/pkgconfig:/usr/lib64/pkgconfig
cd Pktgen-DPDK
meson -Denable_kmods=true -Dexamples=all build

需要修改的地方:

(1)build.ninja,指定c99編譯

vim build/build.ninja

在rule c_COMPILER下的command = cc $ARGS -MD -MQ ... 這行補充-std=c99

(2)pktgen-pcap.c 第313行,強制轉化為無符號類型

vim app/pktgen-pcap.c

 pktgen-pcap.c 第313行,MAX_MBUFS_PER_PORT結果返回值強制轉化為無符號類型

最后,保存并執行,完成構建

cd build && ninja
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0