[发明专利]一种基于OVS-DPDK的数据包处理方法、系统有效

专利信息
申请号: 202310639196.8 申请日: 2023-06-01
公开(公告)号: CN116366582B 公开(公告)日: 2023-08-04
发明(设计)人: 吴绍华;李易;郑理;邹明;文旭;韩丁 申请(专利权)人: 天翼云科技有限公司
主分类号: H04L49/9015 分类号: H04L49/9015;H04L49/00
代理公司: 浙江千克知识产权代理有限公司 33246 代理人: 邵捷
地址: 100007 北京市东城区青*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 ovs dpdk 数据包 处理 方法 系统
【权利要求书】:

1.一种基于OVS- DPDK的数据包处理方法,其特征在于,包括:

步骤S01,从DPDK数据路径上获取PMD数据包并将PMD数据包缓存入批处理batch中;

步骤S02,从批处理batch中获取PMD数据包进行流表处理流程;

在执行流表处理流程时,对批处理batch中的PMD数据包进行查表,当未在CT跟踪链接表查询到CT表项时,创建CT表项并根据全局锁获取情况执行不同操作:当获取全局锁成功时,将该CT表项插入CT跟踪链接表,当获取全局锁失败时,将该CT表项的指针填充入CT缓存节点中;

步骤S03,当批处理batch中的数据包取完后,执行CT缓存节点的CT表项插入流程;当CT缓存节点的CT表项插入流程执行完毕后,返回步骤S01对下一轮PMD数据包进行处理;

在执行CT缓存节点的CT表项插入流程时,当全局锁获取成功时,将CT缓存节点中指针所对应的CT表项插入CT跟踪链接表并删除该CT缓存节点。

2.根据权利要求1所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述流表处理流程包括:

判断批处理batch中的数据包是否取完,若取完,则结束,若未取完,执行后续流程;

查询CT跟踪链接表,当未能查到CT表项时,创建CT表项并基于该数据包填充所述CT表项;

获取全局锁,当全局锁获取成功时,将该CT表项插入CT跟踪链接表;当全局锁获取失败时,将该CT表项的指针填充入CT缓存节点中;

逐个从批处理batch中获取数据包执行上述流程,直到取完数据包为止。

3.根据权利要求2所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述流表处理流程还包括:当查到CT表项时,更新该CT表项的状态,之后从批处理batch中获取下一个数据包执行流表处理流程。

4.根据权利要求2所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述基于该数据包填充所述CT表项的过程包括:将数据包中的源IP、目的IP、源端口、目的端口、协议号和CT表项的状态存入所述CT表项。

5.根据权利要求1所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述步骤S02还包括:判断CT缓存节点是否为空,当CT缓存节点为空时,从批处理batch中获取PMD数据包进行流表处理流程;当CT缓存节点不为空时,遍历线程上的所有CT缓存节点,执行CT缓存节点的CT表项插入流程。

6.根据权利要求1或5所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述CT缓存节点的CT表项插入流程包括:

获取线程上的一个CT缓存节点;

获取全局锁,当全局锁获取成功时,将CT缓存节点中指针所对应的CT表项插入CT跟踪链接表;

删除该CT缓存节点;

依次遍历线程上的所有CT缓存节点,直到所有缓存节点中指针所对应的CT表项插入CT跟踪链接表,CT缓存节点被删除后为止。

7.根据权利要求6所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述CT缓存节点的CT表项插入流程还包括:当CT缓存节点的CT表项插入流程执行完后,继续进行流表处理流程。

8.根据权利要求1所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,还包括:在步骤S01获取PMD数据包后且在执行步骤S02步骤前,创建CT缓存节点。

9.根据权利要求8所述的一种基于OVS-DPDK的数据包处理方法,其特征在于,所述CT缓存节点的数量为步骤S01中从DPDK数据路径上获取PMD数据包的最大值。

10.一种基于OVS-DPDK的数据包处理系统,其特征在于,包括:

数据包获取模块,用于从DPDK数据路径上获取PMD数据包;

批处理batch模块,用于缓存所述数据包获取模块获取的PMD数据包;

流表处理模块,用于获取批处理batch模块中的PMD数据包进行流表处理流程,在执行流表处理流程时,对批处理batch中的PMD数据包进行查表,当未在CT跟踪链接表查询到CT表项时,创建CT表项并根据全局锁获取情况执行不同操作:当获取全局锁成功时,将该CT表项插入CT跟踪链接表,当获取全局锁失败时,将该CT表项的指针填充入CT缓存节点中;当批处理batch中的数据包取完后,触发所述缓存插入模块执行CT缓存节点的CT表项插入流程;当CT缓存节点的CT表项插入流程执行完毕后,触发所述数据包获取模块对下一轮PMD数据包进行处理;

缓存插入模块,用于在执行CT缓存节点的CT表项插入流程时,当全局锁获取成功时,将CT缓存节点中指针所对应的CT表项插入CT跟踪链接表并删除该CT缓存节点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼云科技有限公司,未经天翼云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310639196.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top