OVS DPDK 网桥

40 篇文章 22 订阅

DPDK数据路径需要特殊配置的网桥才能使用DPDK支持的physical <phy>端口和virtual <vhost-user>端口。

入门示例

此示例演示如何使用为DPDP数据路径添加网桥:

$ ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev

这假设Open vSwitch是带有DPDK支持选项编译的。请参阅OVS文档/intro/install/dpdk了解更多信息。

扩展及自定义统计信息

DPDK扩展统计API接口允许PMDs驱动公开一组一致的统计数据信息。扩展的统计信息仅实现在DPDK物理端口和vHost端口。自定义统计是一组动态计数器,具体取决于PMD驱动程序。这些统计数据用于DPDK物理端口,包含来自XSTATS的所有丢弃错误管理计数器。有关所有XSTATS计数器的列表可参见[https://wiki.opnfv.org/display/fastpath/Collectd+Metrics+and+Events].

注意

vHost端口仅支持基于RX数据包大小的计数器。TX数据包大小计数器不可用。

要启用统计信息,必须启用OpenFlow 1.4对OVS的支持。要配置一个名为br0的网桥, 支持OpenFlow 1.4版本,运行如下命令:

$ ovs-vsctl set bridge br0 datapath_type=netdev \
  protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14

配置完成后,检查网桥表中的OVSDB 协议列以确保OpenFlow 1.4支持已启用:

$ ovsdb-client dump Bridge protocols

你还可以在查询端口统计信息时,显式指定-O OpenFlow14选项:

$ ovs-ofctl -O OpenFlow14 dump-ports br0

EMC插入概率

默认情况下,每100个流中有1个插入到精确匹配缓存(EMC)中。可以通过设置emc-insert-inv-prob选项改变此插入概率:

$ ovs-vsctl --no-wait set Open_vSwitch . other_config:emc-insert-inv-prob=N

where:

N
正整数表示插入概率的逆,即在每N个流中产生一次EMC插入。

如果N设置为1,则将对每个流执行插入。如果设置为0,将不执行任何插入操作,并且,EMC功能实际上被禁用。

由于默认的N值为100,最初将产生较高的megaflow命中量,可通过PMD统计观察到:

$ ovs-appctl dpif-netdev/pmd-stats-show

对于具有许多并行流的特定状况,建议设置N等于0,以获得更高的转发性能。

还可以使用以下方法在每个端口上启用/禁用EMC:

$ ovs-vsctl set interface <iface> other_config:emc-enable={true,false}

注意

这对于在不同的端口上预期有不同数量流量的情况很有用。例如,如果其中一个虚拟机使用附加头部封装流量,并且它将接收大量数据流,但只有少量流从这个虚拟机中出来。在这种情况下,使用EMC要快得多而不是对来自虚拟机的流量应用分类器,但是最好对流向虚拟机的流量禁用EMC。

更多信息参见OVS文档/intro/install/dpdk 中关于EMC的内容.

SMC 缓存 (实验性质)

SMC缓存或签名匹配缓存是继EMC缓存之后的一个新的缓存级别。SMC和EMC的区别在于SMC只存储流的签名,因此它的内存效率要高得多。使用相同的内存空间,EMC可以存储8K流,而SMC可以存储1M流。当流量大于EMC的大小时,通常关闭EMC并打开SMC是有益的。当前SMC默认情况下是关闭的,并且还是一个实验功能。

开启SMC:

$ ovs-vsctl --no-wait set Open_vSwitch . other_config:smc-enable=true
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Open vSwitch(OVS)是一个开源的虚拟交换机软件,用于实现网络交换功能。它提供了一套灵活的网络转发和流量处理机制,并且可以与不同类型的网络虚拟化技术(如OpenStack、KVM等)集成。 OVS-DPDK是OVS的一个变种,使用了Data Plane Development Kit(DPDK)来加速数据包处理。DPDK是一个用于快速数据包处理的开源项目,它提供了一组用户空间的库和驱动程序,使网络应用程序能够绕过操作系统内核,直接访问网络硬件。通过与DPDK集成,OVS-DPDK可以实现更高的数据包处理性能和更低的延迟。 OVS-DPDK具有以下特性: 1. 高性能:使用DPDK加速,可以处理更多的数据包以及更低的延迟。这使得OVS-DPDK非常适合需要高性能的虚拟化环境。 2. 大规模网络:OVS-DPDK支持大规模网络环境,可以处理数十万个虚拟机和大量的网络流量。 3. 高级流量管理:OVS-DPDK提供了丰富的流量管理功能,如流量分类、QoS(Quality of Service)、ACL(Access Control List)等,可以根据应用需求对流量进行精细控制和管理。 4. 灵活的虚拟化集成:OVS-DPDK可以与不同类型的虚拟化技术(如OpenStack、KVM等)集成,提供灵活的网络虚拟化解决方案。 总之,OVS-DPDK是在传统的OVS基础上加入了DPDK加速技术,以提供更高性能和更低延迟的网络转发和流量处理能力。这使得它成为虚拟化环境中处理大规模网络流量的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值