警告:
DPDK ring端口不能用於客戶機通信,其存在主要是爲了向後兼容。幾乎所有情況下,都應當使用vhost user ports<vhost user>
,其是更好的選擇。
DPDK數據路徑提供DPDK支持的ring端口,其通過DPDK的librte-ring庫實現。有關此庫的詳細信息,請參閱DPDK 官方文檔。
重要:
要使用任何DPDK支持的端口,你必須確保網橋已正確地配置。更多詳細信息,請參閱OVS的網橋
文檔。
簡單示例
此示例演示如何將dpdkr端口添加到現有網橋br0中:
$ ovs-vsctl add-port br0 dpdkr0 -- set Interface dpdkr0 type=dpdkr
dpdkr
要使用ring端口,你必須先將所述端口添加到網橋。不像vhost user ports<vhost user>
端口,ring端口名稱必須採用特定的格式,dpdkrNN
,其中NN
是端口ID。例如:
$ ovs-vsctl add-port br0 dpdkr0 -- set Interface dpdkr0 type=dpdkr
一旦將端口添加到網橋,主機中進程就可以使用這些端口。Open vSwitch中包含一個環迴應用程序示例 - test-dpdkr
。要使用此功能,請運行以下命令:
$ ./tests/test-dpdkr -c 1 -n 4 --proc-type=secondary -- -n 0
進一步的功能需要開發自己的應用程序。有關如何實現的詳細信息,請參閱DPDK 官方文檔
。
客戶機中增加dpdkr端口
不建議在客戶機中使用ring端口。歷史原因,這是可以通過使用修補版本的QEMU和提供IVSHMEM功能的DPDK實現的。但是,此功能已被刪除,原因如下:
- 在DPDK 16.11中已經刪除了IVSHMEM庫
- 對IVSHMEM功能的支持從未提交到QEMU,並且已被QEMU社區公開拒絕
- 端口
vhost-user interfaces <vhost-user>
是用於客戶機通信的標準DPDK路徑
原文鏈接:https://blog.csdn.net/sinat_20184565/article/details/93416436