• 基于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

  • 相关阅读:
    HDOJ 1877
    POJ 2210
    HDOJ 1230(火星A+B)
    大数想减
    HDU 2115
    HDOJ 1234
    HDOJ 3784
    HDOJ3782(xxx定理)
    C# 使用 Stopwatch 测量代码运行时间
    SQL返回当前天是星期几
  • 原文地址:https://www.cnblogs.com/qq952693358/p/7670202.html
Copyright © 2020-2023  润新知