【OpenvSwitch】1-匹配流程

本文探讨了OpenvSwitch(OVS)1.7.1版本中的报文匹配流程,该流程对交换机效率至关重要。内容涉及精确匹配表(facet)与模糊匹配表(table)的查找,详细阐述了内核中的调用流程,从ovs_vport_receive到find_match函数,解释了如何处理未命中流表的情况,并遮盖部分精确匹配项以实现模糊匹配。此外,还提到了OVS的匹配逻辑遵循OpenFlow标准,并指出其在模糊匹配方面的效率问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版本:OVS 1.7.1

简称:dp->datapath, of->OpenFlow, sw->switch

背景:

  • 报文匹配的流程可以说是对一个switch效率影响最大的地方,现在已经有很多厂家(包括一些研究院)说可以做到比OVS效率高十倍的流表匹配。
  • 当然这是有可能的,毕竟都是纯软件,非常容易创新。而ovs也没有做多级流表,跟of标准上不一定比得过别人。我们接下来就分析一下OVS的匹配流程。
TIPS:

  • 整体的匹配逻辑很简单,都是OpenFlow规定好的。
  • 报文通过dp时先查找精确匹配表(facet),如果找不到,那么进行upcall,上送到用户态。
  • 在用户态会查找模糊匹配表(table),这个地方可以说是较没有效率的地方。下面我们看一看具体的代码。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值