一种在PowerPCDPAA模式下实现网络接口自适应的方法与流程

文档序号:11216218阅读:1304来源:国知局
一种在PowerPC DPAA模式下实现网络接口自适应的方法与流程

本发明涉及计算机技术领域,尤具体地说是一种实用性强、在powerpcdpaa模式下实现网络接口自适应的方法。



背景技术:

随着云计算、大数据等技术的日益成熟和广泛应用,对网络处理性能要求的日益提高,powerpc由于采用dpaa技术,即数据路径加速架构,能够大幅度提升网络处理性能,在云平台接入、大数据分布式存储领域应用日益广泛。但由于dpaa底层技术采用硬件实现,对于变化的网络接口环境,powerpc在dpaa模式下还不具备网络接口自适应的功能,只能通过手动配置实现,无法满足灵活部署的要求。

基于此,本发明提出了一种在powerpcdpaa模式下实现网络接口自适应的方法。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种实用性强、在powerpcdpaa模式下实现网络接口自适应的方法。

一种在powerpcdpaa模式下实现网络接口自适应的方法,应用于powerpc架构的dpaa模式下,powerpc硬件架构采用powerpc多核网络处理器,配置千兆phy芯片,并采用dpaa模式,其实现过程为:

首先获取当前网络状态数据;

然后将读取到的网络状态数据配置到powerpc网络接口下的相关寄存器中,实现接口模式的配置,最终实现网络接口自适应。

其具体实现过程为:

获取状态数据:首先读取千兆phy芯片的模式状态寄存器,获取当前的网络接口速度状态以及网络连接状态;

配置寄存器:将读取到的网络接口速度以及连接状态进行配置以太网控制寄存器和mac配置寄存器,从而实现了接口模式的配置,最终可实现网络接口自适应。

所述状态数据通过mdio内核驱动模块读取获得,具体为:

1)内核模块与用户空间的网络通信程序通过netlink机制进行通信的;当内核模块被加载后,运行用户空间程序,由用户空间发起netlink会话,和内核模块进行数据交换,该内核模块的数据交换是在多核处理器中的一个核中开辟一个进程来实现;

2)通过mdio的内核驱动模块对千兆phy设备进行打开并对其模式状态寄存器进行读取。

在获取当前网络接口状态后,对powerpc的网络接口ecntrl寄存器的接口模式控制位、maccfg2寄存器的i/f模式位进行配置。

在配置寄存器的过程中,还包括配置状态变化标志位的步骤,通过检测该变量的状态来判断是否重新读取phy芯片的模式状态寄存器,减少对千兆phy芯片的状态寄存器的读取次数。

状态变化标志位的具体配置过程为:首先设置网络速度状态变化标志变量,由此来记录上次的网络状态;通过检测该变量的状态来判断是否重新读取phy的模式状态寄存器而不是直接再次读取phy的模式状态寄存器;根据判断的结果,进行网络状态的配置或者保持原来的配置,并对状态标志变量根据当前的网络设置进行重新赋值归位。

网络速度状态变化标志变量分别为flag_1g、flag_100、flag_10,其中,

flag_1g用于确定上次状态是否为千兆速度,当flag_1g=0时表示上次状态不是千兆速度;

flag_100用于确定上次状态是否为百兆速度,当flag_100=0时表示上次状态不是百兆速度;

flag_10用于确定上次状态是否为十兆速度,当flag_10=0时表示上次状态不是十兆速度。

根据获取的状态数据进行网络速度状态变化标志变量的配置过程为,

根据获取的状态数据,首先查看网络中是否为千兆速度且flag_1g=0,是则将以太网控制寄存器和mac配置寄存器进行千兆设置,使flag_1g=1、flag_100=0、flag_10=0;

当不是千兆速度时,则查看网络中是否为百兆速度且flag_100=0,是则将以太网控制寄存器和mac配置寄存器进行百兆设置,使flag_1g=0、flag_100=1、flag_10=0;

当也不是百兆速度时,则查看网络中是否为十兆速度且flag_10=0,是则将以太网控制寄存器和mac配置寄存器进行十兆设置,使flag_1g=0、flag_100=0、flag_10=1。

本发明的一种在powerpcdpaa模式下实现网络接口自适应的方法,具有以下优点:

本发明的一种在powerpcdpaa模式下实现网络接口自适应的方法,通过mdio内核驱动模块读取千兆phy的模式状态寄存器获取速度状态,依次对以太网控制寄存器和mac配置寄存器进行相应配置,实现了网口自适应,节约系统资源,实现灵活部署,自动完成配置过程,配置效率高,实用性强,适用范围广泛,易于推广。

附图说明

附图1为本发明的实现流程图。

附图2为本发明的实现框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

如附图1、图2所示,一种在powerpcdpaa模式下实现网络接口自适应的方法,对于在网络加速模式下不支持网络接口自适应的powerpc若要实现不同网络接口速度的切换,传统的方法是通过手动配置以太网控制寄存器和mac配置寄存器实现的,而本方法可以实现网络接口的自适应。本方法通过mdio内核驱动模块读取千兆phy的模式状态寄存器获取速度状态,依次对以太网控制寄存器和mac配置寄存器进行相应配置,实现了网口自适应。

本发明应用于powerpc架构的dpaa模式下,powerpc硬件架构采用powerpc多核网络处理器,配置千兆phy芯片,并采用dpaa模式,其实现过程为:

首先获取当前网络状态数据;

然后将读取到的网络状态数据配置到powerpc网络接口下的相关寄存器中,实现接口模式的配置,最终实现网络接口自适应。

其具体实现过程为:

获取状态数据:首先读取千兆phy芯片的模式状态寄存器,获取当前的网络接口速度状态以及网络连接状态;

配置寄存器:将读取到的网络接口速度以及连接状态进行配置以太网控制寄存器和mac配置寄存器,从而实现了接口模式的配置,最终可实现网络接口自适应。

所述状态数据通过mdio内核驱动模块读取获得,具体为:

1)内核模块与用户空间的网络通信程序通过netlink机制进行通信的;当内核模块被加载后,运行用户空间程序,由用户空间发起netlink会话,和内核模块进行数据交换,该内核模块的数据交换是在多核处理器中的一个核中开辟一个进程来实现;

2)通过mdio的内核驱动模块对千兆phy设备进行打开并对其模式状态寄存器进行读取。

在通信程序中,根据网络状态对powerpc的dtsec(datapaththree-speedethernetcontroller)接口的以太网控制寄存器ecntrl的接口模式控制位和maccfg2的i/f模式位进行相应的配置。

在上述技术中,maccfg2和ecntrl两个寄存器非常重要,它们主要是用来是配置mac对phy的接口,且ecntrl用于复位、配置和初始化tsec,由于两个寄存器都属于现有技术内容,故在此不再赘述。

在配置寄存器的过程中,还包括配置状态变化标志位的步骤,由于网络接口环境变量的随机性,同时考虑到一直连续通过mdio读取phy的模式状态寄存器比较占用系统资源,本方法设立了状态变化标志变量,通过检测该变量的状态来判断是否重新读取phy的模式状态寄存器,不直接再次读取phy的模式状态寄存器,有效节约了系统资源。

状态变化标志位的具体配置过程为:首先设置网络速度状态变化标志变量,由此来记录上次的网络状态;通过检测该变量的状态来判断是否重新读取phy的模式状态寄存器而不是直接再次读取phy的模式状态寄存器;根据判断的结果,进行网络状态的配置或者保持原来的配置,并对状态标志变量根据当前的网络设置进行重新赋值归位。

网络速度状态变化标志变量分别为flag_1g、flag_100、flag_10,其中,

flag_1g用于确定上次状态是否为千兆速度,当flag_1g=0时表示上次状态不是千兆速度;

flag_100用于确定上次状态是否为百兆速度,当flag_100=0时表示上次状态不是百兆速度;

flag_10用于确定上次状态是否为十兆速度,当flag_10=0时表示上次状态不是十兆速度。

根据获取的状态数据进行网络速度状态变化标志变量的配置过程为,

根据获取的状态数据,首先查看网络中是否为千兆速度且flag_1g=0,是则将以太网控制寄存器和mac配置寄存器进行千兆设置,使flag_1g=1、flag_100=0、flag_10=0;

当不是千兆速度时,则查看网络中是否为百兆速度且flag_100=0,是则将以太网控制寄存器和mac配置寄存器进行百兆设置,使flag_1g=0、flag_100=1、flag_10=0;

当也不是百兆速度时,则查看网络中是否为十兆速度且flag_10=0,是则将以太网控制寄存器和mac配置寄存器进行十兆设置,使flag_1g=0、flag_100=0、flag_10=1。

上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种在powerpcdpaa模式下实现网络接口自适应的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1