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