[发明专利]报文保序的方法及装置有效

专利信息
申请号: 201210578439.3 申请日: 2012-12-27
公开(公告)号: CN103067304A 公开(公告)日: 2013-04-24
发明(设计)人: 赵桃李 申请(专利权)人: 华为技术有限公司
主分类号: H04L12/863 分类号: H04L12/863;H04L12/883
代理公司: 北京同立钧成知识产权代理有限公司 11205 代理人: 谭磊
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 报文 方法 装置
【权利要求书】:

1.一种报文保序的方法,其特征在于,包括:

在中央处理器CPU接收报文,并将所述报文逐包分发到所述CPU的两个以上的核进行处理之后,所述CPU的第N核接收所述CPU分发的包括编号为M的第M个报文包;

所述第N核确定所述第M个报文包为组播报文的报文包之后,处理所述第M个报文包,并将处理后的所述第M个报文包按照所述编号M排列在报文入发送队列中;

所述第N核确定所述报文入发送队列中有当前直接发送的报文包,则确定处理后的第M个报文包对应的出接口是否是所述报文对应的所有出接口中的最后一个;

若不是,则所述第N核将所述报文入发送队列中当前直接发送的报文包发送,并向第P核发送通知消息,所述通知消息用于指示所述第P核处理所述第M个报文包;所述第P核为所述第N核按照预设算法算出的用于向另一个出接口发送报文包的核;以使所述第P核处理所述第N核处理后的第M个报文包,并重复确定所述第P核处理后的报文包对应的出接口是否是所有出接口中最后一个的过程,以及在所述第P核处理后的报文包对应的出接口不是最后一个时,重复向下一个出接口发送报文包的第Q核发送通知消息的过程,直至所述报文对应的所有出接口都依序发送有处理后的报文;

其中,所述N、M、P、Q为大于等于1的自然数。

2.根据权利要求1所述的方法,其特征在于,所述第N核确定所述第M个报文包为组播报文的报文包之后,处理第M个报文包,包括:

所述第N核确定所述第M个报文包为组播报文的报文包之后,查找所述第M个报文包对应的所有出接口的信息,将所有出接口的信息记录到所述第M个报文包中,且取出所有出接口中的第一个出接口,以及删除所述所有出接口中的第一个出接口;

所述第P核处理所述第N核处理后的第M个报文包,包括:

所述第P核将所述第N核处理后的第M个报文包中出接口的信息中的排在最前的出接口取出,以及在所述出接口的信息中删除第P核所取出的出接口。

3.根据权利要求1或2所述的方法,其特征在于,所述将处理后的所述第M个报文包按照所述编号M排列在报文入发送队列中的步骤之后,还包括:

所述第N核确定所述报文入发送队列中无当前直接发送的报文包,则等待所述报文入发送队列中排在编号M之前的能够直接发送的报文包。

4.根据权利要求1所述的方法,其特征在于,所述确定处理后的第M个报文包对应的出接口是否是所述报文对应的所有出接口中的最后一个的步骤之后,还包括:

若是,所述第N核将所述报文入发送队列中当前直接发送的报文包发送,并通知所述第N核所在的CPU回收所述报文占用的内存。

5.根据权利要求1所述的方法,其特征在于,所述第N核确定所述第M个报文包为组播报文的报文包,包括:

若所述报文为三层转发报文,则所述第N核确定所述第M个报文包所在的报文的目的IP地址为组播地址,获知所述第M个报文包为组播报文的报文包;

或者,

若所述报文为二层转发报文,则所述第N核确定所述第M个报文包所在的报文的目的MAC信息为组播MAC信息,获知所述第M个报文包为组播报文的报文包。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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