我正在尝试从DPDK源运行骨架示例,但每当我尝试在make过程之后构建代码时,我得到一个错误说:"端口数必须是偶数"然而,当我试图看到我的以太网设备列表时,我只能看到一个设备(我在vmware工作站环境下运行Ubuntu中的骨架示例)
我想过尝试模拟另一个以太网设备,这可能吗?我该怎么做才能让骨架示例运行?
答案 0 :(得分:1)
我正在使用virtualbox(使用Ubuntu 16.04 guest)并按照这两个指南中的大部分说明来测试两个虚拟以太网设备:
http://plvision.eu/blog/deploying-intel-dpdk-in-oracle-virtualbox/ http://dpdk.org/doc/quick-start
我做的事情是:
一个。在虚拟机中启用虚拟机中的两个桥接NIC我选择了桌面版的Intel Pro / 1000 MT:
设置&gt;网络&gt; <适配器1>桥接&gt;适配器类型&gt;英特尔Pro / 1000 MT桌面(82540EM)
在虚拟机中,确保您的环境显示两个以太网设备。
$ ip addr
2: enp0s3:
[ more output ommitted ]
3: enp0s8:
[ more output ommitted ]
湾安装DPDK先决条件。
$ sudo apt-get install libpcap-dev gcc make hugepages nim
$ sudo apt-get 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
℃。导出~/.bashrc
export RTE_SDK=/usr/local/share/dpdk/
export RTE_TARGET=x86_64-native-linuxapp-gcc
重新启动控制台以获取新导出的变量。
d。启用hugepages:
$ sudo sh -c 'echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'
即然后我像这样运行骨架示例,指定两个端口:
$ 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]