OVS WITH DPDK IN QEMU-KVM

1、libvirt创建虚拟机

 

使用linux默认网桥virbr0

<interface type='network'>
<mac address='52:54:00:bb:49:d6'/>
<source network='default'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>


使用ovs中的网桥,并添加接口

 #ovs-vsctl add-br ovsbr

<interface type='bridge'>
<mac address='52:54:00:bb:49:d6'/>
<source bridge='ovsbr'/>
<virtualport type='openvswitch'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

2、ovs+dpdk vhost-user

ovs作为服务端,vm作为客户端

ovs创建:

$ ovs-vsctl add-port br0 vhost-user-1 -- set Interface vhost-user-1 type=dpdkvhostuser

创建一个socket :/usr/local/var/run/openvswitch/vhost-user-1

vm引用:

-chardev socket,id=char1,path=/usr/local/var/run/openvswitch/vhost-user-1
-netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce
-device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1

内存使用:

-object memory-backend-file,id=mem,size=2048M,mem-path=/dev/hugepages,share=on
-numa node,memdev=mem -mem-prealloc

libvirt xml

 <interface type='vhostuser'>
      <mac address='00:00:00:00:00:01'/>
      <source type='unix' path='/usr/local/var/run/openvswitch/vhost-user-1' mode='client'/>
       <model type='virtio'/>
      <driver queues='2'>
        <host mrg_rxbuf='on'/>
      </driver>
    </interface>

3、ovs+dpdk vhost-user-client

 

ovs引用:

$ VHOST_USER_SOCKET_PATH=/path/to/socket
$ ovs-vsctl add-port br0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient \
  options:vhost-server-path=$VHOST_USER_SOCKET_PATH

vm创建:

-chardev socket,id=char1,path=$VHOST_USER_SOCKET_PATH,server
-netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce
-device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1

libvirt xml

 <interface type='vhostuser'>
      <mac address='00:00:00:00:00:01'/>
      <source type='unix' path='/path/to/socket' mode='server'/>
       <model type='virtio'/>
      <driver queues='2'>
        <host mrg_rxbuf='on'/>
      </driver>
    </interface>

版权声明:本文为ctylihuai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。