Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3764007
  • 博文数量: 880
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 6155
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-11 09:12
个人简介

To be a better coder

文章分类

全部博文(880)

文章存档

2022年(5)

2021年(60)

2020年(175)

2019年(207)

2018年(210)

2017年(142)

2016年(81)

分类: LINUX

2019-08-20 16:05:02

cpu,巨页,驱动,bios,grub,cpu,pmd,100%,流表normal
 根据交换机的应用场景及其所能够支持的流表动作类型,OpenFlow交换机可以被分为“OpenFlow专用交换机(OpenFlow-only)”和“OpenFlow使能交换机(OpenFlow-enabled,在OpenFlow v1.1之后被称作OpenFlow-hybrid)”。其中,前者只支持OpenFlow协议,而后者则是考虑到了OpenFlow交换机与传统交换机混合组网时可能遇到的协议栈不兼容问题,能同时运行OpenFlow协议和传统的二层/三层协议栈。因此,后者可以支持OpenFlow可选转发动作中的NORMAL动作。

VHOST-USER

vhost-user在Open vSwitch中的端口类型为dpdkvhostuser,该模式下Open vSwitch作为server端,QEMU作为client端,使用该类型端口时,要求QEMU版本必须>=2.2。
该模式下vHost端口不具备‘reconnect’能力。当Open vSwitch服务异常后,QEMU作为client端能感知到该异常并将端口状态置为down,但当Open vSwitch服务恢复后,QEMU作为client端不会自动重新连接server,导致虚拟机网络无法自动恢复。

VHOST-USER-CLIENT

vhost-user-client在Open vSwitch中的端口类型dpdkvhostuserclient,该模式下Open vSwitch作为client端,QEMU作为server端,使用该类型端口时,要求QEMU版本必须>=2.7。
该模式下vHost端口具备‘reconnect’能力。使用该类型端口创建虚拟机时,QEMU会等端口创建成功,client连接上后启动虚拟机,在Open vSwitch服务出现异常或被停止后,QEMU会将端口状态置为down,当Open vSwitch服务恢复正常后,client会重新连接server,触发QEMU重新将端口状态置为up。

案例1
测试环境: · PVP流:使用IXIA发包到物理网卡,OvS-DPDK将物理网卡收到的包转发到虚拟机,虚拟机则将包处理后通过OvS-DPDK发送回物理网卡,最后回到IXIA

· 虚拟机中使用DPDK testpmd的MAC-forwarding

· OvS-DPDK版本: Commit f56f0b73b67226a18f97be2198c0952dad534f1c

· DPDK版本:17.02

· GCC/GLIBC版本:6.2.1/2.23

· Linux:4.7.5-200.fc24.x86_64

· CPU:Intel? Xeon? CPU E5-2699 v3 @ 2.30GHz

OvS-DPDK编译和启动命令如下:

make ‘CFLAGS=-g -Ofast -march=native’

./ovs-vsctl –no-wait set Open_vSwitch . other_config:dpdk-init=true

./ovs-vsctl –no-wait set Open_vSwitch . other_config:dpdk-socket-mem=”1024,1024″

./ovs-vsctl add-br ovsbr0 — set bridge ovsbr0 datapath_type=netdev

./ovs-vsctl add-port ovsbr0 vhost-user1 — set Interface vhost-user1 type=dpdkvhostuser

./ovs-vsctl add-port ovsbr0 dpdk0 — set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:06:00.0

./ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x10000

./ovs-ofctl del-flows ovsbr0

./ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2

./ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1

虚拟机中使用DPDK testpmd进行转发,命令如下:

set fwd mac

start


libvirt  虚机xml修改巨页,numa,共享

  1. 采用了大页来作为host和vm之间通信的内存空间
  2. 用户态操作网卡,使用类似于netmap的zero copy技术来加速对物理设备的访问
  3. 使用numa技术,加快中断响应速率
https://blog.csdn.net/u010827484/article/details/81223105
大页
 
 <hugepages> <page size="2" unit="M"/> hugepages>

numa
   
   
     
 
vhost网卡

   
     
    
阅读(3616) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~