【问题标题】:DPDK "number of ports must be even" one ethernet deviceDPDK“端口数必须是偶数”一个以太网设备
【发布时间】:2017-03-02 17:19:15
【问题描述】:

我正在尝试从 DPDK 源代码运行骨架示例,但是每当我尝试在 make 过程之后构建代码时,我都会收到一条错误消息:“端口数必须是偶数”但是当我尝试查看列表时我的以太网设备我只能看到一个设备(我在 Ubuntu 的 vmware 工作站环境下运行骨架示例)

我想过尝试模拟另一个以太网设备,这可能吗?我应该怎么做才能让骨架示例运行?

【问题讨论】:

    标签: dpdk


    【解决方案1】:

    我正在使用 virtualbox(使用 Ubuntu 16.04 来宾)并按照这两个指南中的大部分说明来测试两个虚拟以太网设备:

    http://plvision.eu/blog/deploying-intel-dpdk-in-oracle-virtualbox/ http://dpdk.org/doc/quick-start

    我做的事情是:

    一个。在 virtualbox 中,为了启用虚拟机中的两个桥接 NIC,我选择了 Intel Pro/1000 MT 的桌面版本:

    设置 > 网络 > 适配器 1 > 桥接 > 适配器类型 > Intel Pro/1000 MT 台式机 (82540EM)

    在虚拟机中确保您的环境显示两个以太网设备。

    $ ip addr
    2: enp0s3: 
    [ more output ommitted ]
    3: enp0s8: 
    [ more output ommitted ]
    

    b.安装 DPDK 先决条件。

    $ sudo apt-get install libpcap-dev gcc make hugepages nim
    $ sudo apt-get install linux-headers-generic
    

    下载DPDK,解压

    $ make config T=x86_64-native-linuxapp-gcc
    $ sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
    $ make -j2
    $ sudo make install
    

    c。导出~/.bashrc中的环境变量

    export RTE_SDK=/usr/local/share/dpdk/
    export RTE_TARGET=x86_64-native-linuxapp-gcc
    

    重新启动控制台以获取新导出的变量。

    d。启用大页面:

    $ sudo sh -c 'echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'
    

    e。然后我像这样运行骨架示例,指定两个端口:

    $ sudo ./basicfwd -c1 -n1 --vdev=eth_pcap0,iface=enp0s3 --vdev=eth_pcap1,iface=enp0s8
    [sudo] password for ubuntu: 
    EAL: Detected 2 lcore(s)
    EAL: Probing VFIO support...
    EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
    PMD: Initializing pmd_pcap for eth_pcap0
    PMD: Creating pcap-backed ethdev on numa socket 0
    PMD: Initializing pmd_pcap for eth_pcap1
    PMD: Creating pcap-backed ethdev on numa socket 0
    PMD: bnxt_rte_pmd_init() called for (null)
    EAL: PCI device 0000:00:03.0 on NUMA socket -1
    EAL:   probe driver: 8086:100e rte_em_pmd
    EAL: PCI device 0000:00:08.0 on NUMA socket -1
    EAL:   probe driver: 8086:100e rte_em_pmd
    Port 0 MAC: 00 00 00 01 02 03
    Port 1 MAC: 00 00 00 01 02 03
    Core 0 forwarding packets. [Ctrl+C to quit]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多