首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DPDK“端口数必须为偶数”一个以太网设备

问DPDK“端口数必须为偶数”一个以太网设备
EN

Stack Overflow用户
提问于 2016-10-20 23:46:21
回答 1查看 2K关注 0票数 2

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

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

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 15:44:02

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

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

我做的事情是:

a.在virtualbox中,为了在虚拟机中启用双桥接网卡,我选择了台式机版本的Intel Pro/1000 MT:

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

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

代码语言:javascript
复制
$ ip addr
2: enp0s3: 
[ more output ommitted ]
3: enp0s8: 
[ more output ommitted ]

b.安装DPDK必备组件。

代码语言:javascript
复制
$ sudo apt-get install libpcap-dev gcc make hugepages nim
$ sudo apt-get install linux-headers-generic

下载DPDK、untar和

代码语言:javascript
复制
$ make config T=x86_64-native-linuxapp-gcc
$ sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
$ make -j2
$ sudo make install

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

代码语言:javascript
复制
export RTE_SDK=/usr/local/share/dpdk/
export RTE_TARGET=x86_64-native-linuxapp-gcc

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

d.启用大页面:

代码语言:javascript
复制
$ sudo sh -c 'echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'

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

代码语言:javascript
复制
$ 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]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40158970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档