使用DPDK分流不同数据报文至不同虚拟机

使用DPDK分流不同数据报文至不同虚拟机,这样可以使用网卡的RSS或者FDIR等高级功能。

使用DPDK分流不同数据报文至不同虚拟机_第1张图片

上述组网中,是可以实现tap0和tap1之间互通的;(注意点,tap设备up,bridge设备up)

tap设备是打开/dev/net/tun文件生成的一种字符设备,同一个tap设备只能被open一次。

使用DPDK分流不同数据报文至不同虚拟机_第2张图片
上图中,DPDK应用程序open并创建一个tap1设备,这样dpdk程序收到报文后,根据分流规则,可以将收到的报文直接write到tap1中,linux bridge收到tap1的报文后,进行转发至tap0中。(是否需要修改目的mac暂无方案)

缺点:很多的内存拷贝、用户态内核态的切换

参考:

http://www.isjian.com/openstack/openstack-base-virtual-network-devices-tuntap-veth/

https://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/

你可能感兴趣的:(超融合openstack,DPDK)