掌桥专利:专业的专利平台
掌桥专利
首页

一种恢复网卡MAC地址方法、系统、设备及存储介质

文献发布时间:2024-04-18 19:59:31


一种恢复网卡MAC地址方法、系统、设备及存储介质

技术领域

本发明涉及计算机技术领域,更具体地说,涉及一种恢复网卡MAC地址方法、系统、设备及存储介质。

背景技术

现有服务器主板设计中,板载网卡是服务器主板构成主要部分,负责跟外部机器进行网络通讯。目前存在一类网卡在进行更新时会存在地址丢失情况,以E822网卡为例:E822网卡是intel公司推出处理器内置100GB网卡,内置网卡运行固件,E822网卡配置信息和BIOS(base input output system)固件共同存储在BIOS flash存储介质,服务器行业为方便用户维护系统或者更新BIOS固件,通常通过BMC(Board management controller底板管理控制器)远程更新BIOS存储介质,内容包括BIOS,E822网卡固件,网卡配置信息,E822存储配置信息经过加密方式存储,BMC无法直接获取和保存相关信息内容,通过BMC远程更新BIOS存储介质,E822存储配置信息例如网卡MAC会丢失并恢复为固件初始化默认值,这使用户升级更新E822网卡固件和配置信息需要到达现场或者运行不同更新工具进行更新,这使得用户成本增加或者用户体验效果差,需要一种解决上述网卡地址丢失问题的方式方法。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种恢复网卡MAC地址方法,还提供了一种恢复网卡MAC地址系统、一种恢复网卡MAC地址设备及一种计算机可读存储介质。

本发明解决其技术问题所采用的技术方案是:

构造一种恢复网卡MAC地址方法,其中,包括以下步骤:

烧录MAC地址到BIOS存储介质中网卡固件MAC配置信息位置,并烧录MAC地址到BMC挂载的EEPROM;

服务器主板开机启动BIOS程序时,BIOS通过BMC通讯接口读取BMC存储的网卡MAC地址信息;

BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址;

BIOS程序比较BMC存储的网卡MAC地址和当前网卡存储的MAC地址,若一致则终止,若不一致则执行下一步;

BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡;

网卡检查写入的MAC地址是否有效,如果写入的MAC地址有效,则网卡内置固件程序将写入的MAC地址存储到BIOS存储网卡配置信息位置;

网卡上运行程序在发现片上随机存储的MAC地址与BIOS存储的MAC地址不一致时,网卡固件程序发起片上随机存储MAC地址同步流程,网卡返回MAC地址写入成功标志。

本发明所述的恢复网卡MAC地址方法,其中,所述服务器主板开机启动BIOS程序时,BIOS通过BMC通讯接口读取BMC存储的网卡MAC地址信息采用方法:

处理器通过读取BIOS和网卡程序存储介质运行BIOS程序,BIOS通过KCS接口和BMC进行通讯读取EEPROM中存储MAC地址。

本发明所述的恢复网卡MAC地址方法,其中,所述BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址采用方法:

处理器执行BIOS阶段的网卡驱动初始化程序,网卡驱动初始化程序包括初始化PCIe基地址和初始化网卡管理命令队列环;BIOS程序发送读网卡MAC权限命令,读取MAC地址。

本发明所述的恢复网卡MAC地址方法,其中,所述BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡采用方法:

BIOS程序发送写网卡MAC权限命令,通过命令队列环发送网卡写MAC地址命令给网卡固件。

本发明所述的恢复网卡MAC地址方法,其中,在所述网卡固件程序发起片上随机存储MAC地址同步流程后还包括方法:网卡固件在命令队列环返回写入MAC地址成功标志,BIOS清除命令队列环,BIOS程序发起重启系统命令让网卡固件加载新的MAC地址。

本发明所述的恢复网卡MAC地址方法,其中,所述烧录MAC地址到BIOS存储介质中网卡固件MAC配置信息位置,并烧录MAC地址到BMC挂载的EEPROM在生产服务器主板环节中进行。

一种恢复网卡MAC地址系统,应用于如上述的恢复网卡MAC地址方法,其中,所述系统包括烧录模块、BIOS程序、BIOS存储介质、EEPROM模块、网卡地址效验模块和网卡地址同步模块;

所述烧录模块,用于烧录MAC地址到BIOS存储介质中网卡固件MAC配置信息位置,并烧录MAC地址到BMC挂载的EEPROM模块;

所述BIOS程序在服务器主板开机时启动,通过BMC通讯接口读取BMC存储的网卡MAC地址信息;BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址;BIOS程序比较BMC存储的网卡MAC地址和当前网卡存储的MAC地址,若一致则终止,若不一致则执行下一步;BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡;

所述网卡地址效验模块,用于检查写入的MAC地址是否有效,如果写入的MAC地址有效,则网卡内置固件程序将写入的MAC地址存储到BIOS存储网卡配置信息位置;

所述网卡地址同步模块,用于在发现片上随机存储的MAC地址与BIOS存储的MAC地址不一致时,网卡固件程序发起片上随机存储MAC地址同步流程,网卡返回MAC地址写入成功标志。

本发明所述的恢复网卡MAC地址系统,其中,BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址采用方法:处理器执行BIOS阶段的网卡驱动初始化程序,网卡驱动初始化程序包括初始化PCIe基地址和初始化网卡管理命令队列环;BIOS程序发送读网卡MAC权限命令,读取MAC地址;

BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡采用方法:BIOS程序发送写网卡MAC权限命令,通过命令队列环发送网卡写MAC地址命令给网卡固件;

在所述网卡固件程序发起片上随机存储MAC地址同步流程后还包括方法:网卡固件在命令队列环返回写入MAC地址成功标志,BIOS清除命令队列环,BIOS程序发起重启系统命令让网卡固件加载新的MAC地址。

一种恢复网卡MAC地址设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上述方法的步骤。

本发明的有益效果在于:应用本申请的方式方法,用户通过BMC可以直接更新BIOS存储内容,而不用通过系统下运行网卡更新工具进行网卡固件和配置信息更新,这极大方便服务器维护;同时采用BIOS启动阶段实现实时写入网卡MAC地址的方式,无需进入UEFISHELL或者操作系统通过第三方工具进行烧录。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图及实施例对本发明作进一步说明,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图:

图1是本发明较佳实施例的恢复网卡MAC地址方法流程图;

图2是本发明较佳实施例的恢复网卡MAC地址方法启动程序框图;

图3是本发明较佳实施例的恢复网卡MAC地址原理框图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明较佳实施例的恢复网卡MAC地址方法,如图1所示,同时参阅图2,包括以下步骤:

S01:烧录MAC地址到BIOS存储介质中网卡固件MAC配置信息位置,并烧录MAC地址到BMC挂载的EEPROM;

S02:服务器主板开机启动BIOS程序时,BIOS通过BMC通讯接口读取BMC存储的网卡MAC地址信息;

S03:BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址;

S04:BIOS程序比较BMC存储的网卡MAC地址和当前网卡存储的MAC地址,若一致则终止,若不一致则执行下一步;

S05:BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡;

S06:网卡检查写入的MAC地址是否有效,如果写入的MAC地址有效,则网卡内置固件程序将写入的MAC地址存储到BIOS存储网卡配置信息位置;

S07:网卡上运行程序在发现片上随机存储的MAC地址与BIOS存储的MAC地址不一致时,网卡固件程序发起片上随机存储MAC地址同步流程,网卡返回MAC地址写入成功标志;

应用本申请的方式方法,用户通过BMC可以直接更新BIOS存储内容,以E822网卡为例:可更新内容包括BIOS固件、E822网卡固件以及E822网卡配置信息等,而不用通过系统下运行网卡更新工具进行网卡固件和配置信息更新,这极大方便服务器维护;同时采用BIOS启动阶段实现实时写入网卡MAC地址的方式,无需进入UEFI SHELL或者操作系统通过第三方工具进行烧录。

更具体的实施方式:

1.在主板生成环节,通过特定的烧录程序烧录MAC地址到BIOS程序/网卡固件存储介质,烧录MAC地址到BMC下挂载的EEPROM中,EEPROM作为网卡MAC备份地址;BMC子系统下挂载EEPROM存储设备用于存储不易丢失内容。

2.处理器通过读取BIOS和网卡程序存储介质运行BIOS程序,BIOS通过KCS接口和BMC进行通讯读取EEPROM中存储MAC地址。

3.处理器执行BIOS阶段网卡驱动初始化程序,例如初始化PCIe基地址,初始化网卡管理命令队列环。

4.BIOS程序发送读网卡MAC权限命令,读取PF MAC地址,比较PF MAC地址与EEPROM存储MAC地址是否一致,如果不一致进行下一步操作。

5.BIOS程序发送写网卡MAC权限命令,通过命令队列环发送网卡写PF MAC地址命令给网卡固件。

6.网卡固件程序检查MAC是否有效,如果MAC地址有效网卡内置运行程序将更新MAC到BIOS存储网卡配置信息位置,网卡其他内置运行程序发现片上随机存储MAC地址与BIOS存储介质中不一致,网卡其他内置程序发起片上随机存储MAC地址同步流程,

7.网卡固件在命令队列环返回写入MAC地址成功标志,BIOS清除命令队列环。

8.BIOS程序发起重启系统命令让网卡固件加载新的MAC地址。

一种恢复网卡MAC地址系统,应用于如上述的恢复网卡MAC地址方法,其中,系统包括烧录模块100、BIOS程序101、BIOS存储介质102、EEPROM模块103、网卡地址效验模块104和网卡地址同步模块105;

烧录模块100,用于烧录MAC地址到BIOS存储介质102中网卡固件MAC配置信息位置,并烧录MAC地址到BMC挂载的EEPROM模块103;

BIOS程序101在服务器主板开机时启动,通过BMC通讯接口读取BMC存储的网卡MAC地址信息;BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址;BIOS程序比较BMC存储的网卡MAC地址和当前网卡存储的MAC地址,若一致则终止,若不一致则执行下一步;BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡106;

网卡地址效验模块104,用于检查写入的MAC地址是否有效,如果写入的MAC地址有效,则网卡内置固件程序将写入的MAC地址存储到BIOS存储网卡配置信息位置;

网卡地址同步模块105,用于在发现片上随机存储的MAC地址与BIOS存储的MAC地址不一致时,网卡固件程序发起片上随机存储MAC地址同步流程,网卡返回MAC地址写入成功标志;

应用本申请的方式方法,用户通过BMC可以直接更新BIOS存储内容,以E822网卡为例:可更新内容包括BIOS固件、E822网卡固件以及E822网卡配置信息等,而不用通过系统下运行网卡更新工具进行网卡固件和配置信息更新,这极大方便服务器维护;同时采用BIOS启动阶段实现实时写入网卡MAC地址的方式,无需进入UEFI SHELL或者操作系统通过第三方工具进行烧录。

优选的,BIOS程序获取网卡读写权限能力,BIOS程序读取网卡当前MAC地址采用方法:处理器执行BIOS阶段的网卡驱动初始化程序,网卡驱动初始化程序包括初始化PCIe基地址和初始化网卡管理命令队列环;BIOS程序发送读网卡MAC权限命令,读取MAC地址;

BIOS程序发起网卡写MAC地址命令,将BMC存储的网卡MAC地址信息写入网卡采用方法:BIOS程序发送写网卡MAC权限命令,通过命令队列环发送网卡写MAC地址命令给网卡固件;

在网卡固件程序发起片上随机存储MAC地址同步流程后还包括方法:网卡固件在命令队列环返回写入MAC地址成功标志,BIOS清除命令队列环,BIOS程序发起重启系统命令让网卡固件加载新的MAC地址。

一种恢复网卡MAC地址设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时实现如上述方法的步骤。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 匀浆设备、制浆设备、制浆系统及电池生产系统
  • 双向匀浆设备、制浆系统及电池生产系统
技术分类

06120116516235