2016-10-20 13 views
2

スケルトンの例をDPDKソースから実行しようとしていますが、メイクプロセス後にコードをビルドしようとしているときにエラーが表示されます。しかし私が見ることができる私のイーサネットデバイスのリストを見ることを試みるとき私は(私はVMWareのワークステーションの環境の下でUbuntuのスケルトンの例を実行しています)DPDK "ポート数は1つのイーサネットデバイスである必要があります

私は別のイーサネットそれは可能ですか?スケルトンの例を実行するにはどうすればよいですか?

答えて

1

私は(Ubuntuの16.04ゲストで)のVirtualBoxを使用してのテストをするために2つの仮想イーサネットデバイスを持っているこれら2つのガイドの指示のほとんどを踏襲しています:

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

私がした事をされました:

a。

設定>ネットワーク>アダプター> Intel Pro/1000 MTデスクトップ(82540EM)

仮想マシンで2つのブリッジNICを有効にするためのバーチャルボックスで、私はデスクトップ版のIntel Pro/

仮想マシンでは、環境に2つのイーサネットデバイスが表示されていることを確認してください。

$ 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 linux-headers-generic 

untarし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。次に、2つのポートを指定して、このようなスケルトンの例を実行しました。

$ 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] 
関連する問題