一种在多核系统下跨CPU收包的方法及系统技术方案

技术编号:23148853 阅读:54 留言:0更新日期:2020-01-18 13:23
本发明专利技术公开了一种在多核系统下跨CPU收包的方法及系统,涉及家庭网关设备技术领域。该方法包括:根据多核系统的CPU核的数量,为每个CPU分配至少一个收包队列,并分配一个定时器;配置需要跨CPU收包的报文以及用于处理该报文的指定CPU核到驱动层,启动定时器并绑定到所述指定CPU核;当DMA收取报文时,将需要跨CPU收包的报文挂接到所述指定CPU核的收包队列;当定时器到期后,所绑定的指定CPU核从其对应的收包队列中取出相应报文进行处理。本发明专利技术不但能在需要CPU参与处理的报文流量过大时,有效保证业务报文(特别是时效性高的报文)得到及时处理,而且硬件复杂度低,使用成本低,满足了实际应用需求。

A method and system of receiving packets across CPU in multi-core system

【技术实现步骤摘要】
一种在多核系统下跨CPU收包的方法及系统
本专利技术涉及家庭网关设备
,具体来讲是一种在多核系统下跨CPU收包的方法及系统。
技术介绍
在家庭网关设备中,随着技术的发展,家庭的带宽也越来越大,从以前的ADSL(AsymmetricDigitalSubscriberLine,非对称数字用户线路)到现在的XGPON(XG-PassiveOpticalNetwork,万兆吉比特无源光网络),上网速率有了显著的提升。而随着宽带技术的发展,家庭用户越来越多的使用了WIFI接入家庭网关,减少了大量的布线,使家居环境更和谐美观。但对于家庭网关设备来说,价格在不断降低,需求却在不断提高,导致在某些场景下必须使用软件来完成硬件的一些功能,从而减少硬件成本。例如,在使用大流量的WIFI转发时,从高速接口——PON(PassiveOpticalNetwork,无源光网络)口或GE(GigabitEthernet,千兆以太网)口过来的数据,需要转发到WIFI。这时,由于WIFI速率跟不上,很可能就导致该收包DMA(DirectMemoryAccess,直本文档来自技高网...

【技术保护点】
1.一种在多核系统下跨CPU收包的方法,其特征在于,该方法包括以下步骤:/n根据多核系统的CPU核的数量,为每个CPU分配至少一个收包队列;并分配一个定时器;/n配置需要跨CPU收包的报文以及用于处理该报文的指定CPU核到驱动层,启动定时器并绑定到所述指定CPU核;/n当DMA收取报文时,将识别出的需要跨CPU收包的报文挂接到所述指定CPU核的收包队列;/n当定时器到期后,所述指定CPU核从其对应的收包队列中取出相应报文进行处理。/n

【技术特征摘要】
1.一种在多核系统下跨CPU收包的方法,其特征在于,该方法包括以下步骤:
根据多核系统的CPU核的数量,为每个CPU分配至少一个收包队列;并分配一个定时器;
配置需要跨CPU收包的报文以及用于处理该报文的指定CPU核到驱动层,启动定时器并绑定到所述指定CPU核;
当DMA收取报文时,将识别出的需要跨CPU收包的报文挂接到所述指定CPU核的收包队列;
当定时器到期后,所述指定CPU核从其对应的收包队列中取出相应报文进行处理。


2.如权利要求1所述的在多核系统下跨CPU收包的方法,其特征在于:配置需要跨CPU收包的报文时,通过设置需要跨CPU收包的报文的元组信息来进行配置;
所述元组信息包括:三层IP头中的目的IP、四层传输层的协议号以及四层目的端口号。


3.如权利要求2所述的在多核系统下跨CPU收包的方法,其特征在于,配置需要跨CPU收包的报文以及用于处理该报文的指定CPU核到驱动层,启动定时器并绑定到所述指定CPU核,具体包括以下步骤:
当业务进程需要使用跨CPU收包功能时,配置需要跨CPU收包的报文的元组信息以及用于处理该报文的指定CPU核,并配置该业务进程对时延的最大容忍时间;将上述配置信息发送到驱动层;
驱动层收到配置信息后,检查所述指定CPU核是否为DMA收包的核以及其他配置参数的合法性;
若指定CPU核不为DMA收包的核且其他配置参数均为有效,则保存配置的元组信息并启动定时器;启动定时器时,根据业务进程对时延的最大容忍时间设置该定时器的超时间隔,并将该定时器超时响应的CPU设置为所述指定CPU核;
将该业务进程绑定到所述指定CPU核上运行。


4.如权利要求2所述的在多核系统下跨CPU收包的方法,其特征在于:当DMA收取报文时,将识别出的需要跨CPU收包的报文挂接到所述指定CPU核的收包队列,具体包括以下步骤:
当DMA收取报文时,检查该报文的元组信息;判断该报文的元组信息是否与需要跨CPU收包的报文的元组信息相匹配,若匹配,将此报文挂接到所述指定CPU核的收包队列上;若不匹配,按照DMA收包流程进行收包处理。


5.如权利要求1所述的在多核系统下跨CPU收包的方法,其特征在于:所述指定CPU核从其对应的收包队列中取出相应报文进行处理时,若收包队列有多个,则根据通用调度算法,从调度算法给出的收包队列中取出相应报文进行处理。


6.如权利要求1所述的在多核系统下跨CPU收包的方法,其特征在于,该方法还包括以下操作:当所述指定CPU核处理一定数量的报文后或收包队列为空时,重启定时器。


7.一种在...

【专利技术属性】
技术研发人员:谢绍新王中辉
申请(专利权)人:烽火通信科技股份有限公司武汉飞思灵微电子技术有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1