基於OpenNetVM配置環境的發包實踐


參考:

openNetVM

基於OpenNetVM配置環境的發包實踐

注意:本文並未對OpenNetVM的服務鏈進行測試,而是在借助OpenNetVM腳本環境的情況下,分別對Pktgen和MoonGen進行運行測試。

OpenNetVM Installation

我們提供在OpenP4SC的文檔中提供了修改過的OpenNetVM安裝文檔:opennetvm-installation

您也可以參考原教程:opennetvm-installation

安裝OpenNetVM之后,會安裝好DPDK的配置環境。

環境配置

環境配置包括:

  • 初始化DPDK環境;
  • 設置hugepage;
  • 10G NIC綁定。

初始化DPDK環境

進入openNetVM/scripts/

$ ./setup_environment.sh

也可以在此步進行10G NIC網口的綁定。

設置hugepage

進入openNetVM/dpdk/tools

$ ./dpdk-setup.sh

選擇選項20,配置hugepage的大小(如1024),再選擇選項33退出。

10G NIC綁定

進入openNetVM/dpdk/tools

$ ./dpdk-devbind.py --status

查看10G網口PCIe地址,將其綁定到DPDK:

$ ./dpdk-devbind.py --bind=igb_uio [dev_address]

測試物理環境

使用一根網線將dpdk0和dpdk1兩個已經綁定到DPDK的10G網口直連:

+---+
|   |
|   | (dpdk0) ---+
| h |            |
|   | (dpdk1) ---+
|   |
+---+

運行Pktgen

安裝環境:

$ cd openNetVM/
$ git submodule init && git submodule update
$ sudo apt-get install libpcap-dev
$ cd tools/Pktgen/pktgen-dpdk/
$ make

測試命令:

$ sudo ./app/app/x86_64-native-linuxapp-gcc/pktgen -c 3 -n 1

運行MoonGen

安裝環境:

首先保證gcc和g++的版本號高於4.7,如果沒有的話請參考:

$ git clone https://github.com/emmericp/MoonGen
$ cd MoonGen
$ sudo apt-get install libnuma-dev
$ sudo git submodule update --init
$ sudo ./build.sh
$ sudo ./setup-hugetlbfs.sh

測試之前,確保腳本中的IP地址/MAC地址、本機端口的IP地址配置正確。

測試命令:

$ sudo ./build/MoonGen ./examples/quality-of-service-test.lua 0 1

2017.10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM