一种配置NCSI网卡的方法、系统及可读存储介质与流程

文档序号:14942793发布日期:2018-07-13 21:28阅读:673来源:国知局

本发明涉及计算机应用技术领域,特别是涉及一种配置ncsi网卡的方法、系统及计算机可读存储介质。



背景技术:

随着信息技术的飞速发展,服务器在云计算、大数据以及传统行业得到了广泛深入的应用,bmc(baseboardmanagementcontroller,基板管理控制器)作为服务器的监控管理系统,在服务器的管理、运维、提供应用接口等方面起到了重要作用。其中,bmc系统通过共享网络对服务器实现监控管理是非常重要的环节,这个过程就会涉及到对网卡的配置,而目前的网卡绝大多数采用支持ncsi(networkcontrollersidebandinterface,网络控制器边带接口)协议的ncsi网卡。

针对ncsi网卡的配置,目前均是借助于专用的bmc芯片通过ncsi信号总线连接服务器主板上的ncsi网卡,通过专用bmc芯片上设置的网卡控制器,再结合内核态的设备驱动程序和应用层的socket编程来实现ncsi网卡的配置。该网卡控制器支持ncsi协议,通过该网卡控制器才能接收进来或发送出去服务器的监控信息,保证了bmc芯片与ncsi网卡相适应,进而实现对服务器的监控管理功能。但是,这种专用bmc芯片比普通的bmc芯片价格高,这不仅限制了用户的选择,还使得实现成本增加,其次,使用这种专用bmc芯片配置ncsi网卡时,网卡驱动比较复杂,由于没有一定的标准,配置过程易出问题。

因此,如何提供一种能解决上述技术问题的方案,是本领域的技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种配置ncsi网卡的方法,通过数据包处理函数库对ncsi网卡进行配置的方法简单高效,不易出错,而且在bmc芯片上为用户增加了更多的选择,降低了实现成本。本发明的另一目的是提供一种配置ncsi网卡的系统及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本发明提供了一种配置ncsi网卡的方法,用于bmc芯片,包括:

识别网络控制器边带接口ncsi网卡;

调用预设的数据包处理函数库生成并发送用于配置所述ncsi网卡的ncsi报文至所述ncsi网卡,供所述ncsi网卡接收到所述ncsi报文后进行相应的配置。

优选地,所述数据包处理函数库为libpcap函数库。

优选地,所述调用预设的数据包处理函数库生成并发送用于配置所述ncsi网卡的ncsi报文至所述ncsi网卡的过程具体为:

通过所述libpcap函数库监听对端ncsi报文;

当所述libpcap函数库接收到所述对端ncsi报文后,解析所述对端ncsi报文,并获取所述ncsi网卡的信息;

根据ncsi协议标准,通过所述libpcap函数库生成所述ncsi报文;

根据所述信息,通过所述libpcap函数库将所述ncsi报文发送至所述ncsi网卡。

优选地,在所述libpcap函数库接收到所述对端ncsi报文后之后,该方法还包括:

通过所述libpcap函数库存储所述对端ncsi报文。

优选地,所述ncsi网卡的信息包括网卡编号和ip地址。

为解决上述技术问题,本发明还提供了一种配置ncsi网卡的系统,用于bmc芯片,包括:

识别单元,用于识别ncsi网卡;

调用单元,用于调用预设的数据包处理函数库生成并发送用于配置所述ncsi网卡的ncsi报文至所述ncsi网卡,供所述ncsi网卡接收到所述ncsi报文后进行相应的配置;

数据库,用于存储所述数据包处理函数库。

优选地,所述数据包处理函数库为libpcap函数库。

优选地,所述调用单元包括:

监听子单元,用于通过所述libpcap函数库监听对端ncsi报文;

解析子单元,用于当所述libpcap函数库接收到所述对端ncsi报文后,解析所述对端ncsi报文,并获取所述ncsi网卡的信息;

生成子单元,用于根据ncsi协议标准,生成所述ncsi报文;

发送子单元,用于根据所述信息,通过所述libpcap函数库将所述ncsi报文发送至所述ncsi网卡。

优选地,该系统还包括:

存储单元,用于在所述libpcap函数库接收到所述对端ncsi报文后,存储所述对端ncsi报文。

为解决上述技术问题,本发明还提供了一种配置ncsi网卡的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述的配置ncsi网卡的方法的步骤。

本发明提供了一种配置ncsi网卡的方法,用于bmc芯片,包括识别网络控制器边带接口ncsi网卡;调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡,供ncsi网卡接收到ncsi报文后进行相应的配置。

本发明在配置ncsi网卡时,无需使用设有网卡控制器的专用的bmc芯片,只需使用市场上价格较低的普通bmc芯片,该种芯片具有标准的网络接口,再通过应用层软件数据包处理函数库实现ncsi报文的处理、发送和接收,最终完成ncsi网卡的配置。由于数据包处理函数库在命名等方面已形成标准格式,与现有技术相比,通过数据包处理函数库对ncsi网卡进行配置的方法简单高效,不易出错,而且在bmc芯片上为用户增加了更多的选择,降低了实现成本。

本发明还提供了一种配置ncsi网卡的系统及计算机可读存储介质,均具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的一种配置ncsi网卡的方法的流程示意图;

图2为本发明所提供的一种配置ncsi网卡的系统的结构示意图。

具体实施方式

本发明的核心是提供一种配置ncsi网卡的方法,通过数据包处理函数库对ncsi网卡进行配置的方法简单高效,不易出错,而且在bmc芯片上为用户增加了更多的选择,降低了实现成本。本发明的另一核心是提供一种配置ncsi网卡的系统及计算机可读存储介质,均具有上述有益效果。

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

请参考图1,图1为本发明所提供的一种配置ncsi网卡的方法的流程示意图,用于bmc芯片,该方法包括:

步骤s1:识别网络控制器边带接口ncsi网卡。

具体地,ncsi网卡与bmc芯片通过系统内部的ncsi总线进行连接,当需要对ncsi网卡进行配置时,bmc上的操作系统通过标准网卡驱动识别ncsi网卡,具体为ncsi共享网卡,需要说明的是由于本发明采用的是普通的bmc芯片,这类bmc芯片是与此处的标准网卡驱动相适应的,具有很好的通用性,只有识别了ncsi网卡,才可以对其进行配置,这是本发明方案实现的基础。

需要说明的是,这里的操作系统可以为linux操作系统,也可以为windows操作系统,还可以为其他,本发明在此不做特别的限定。

步骤s2:调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡,供ncsi网卡接收到ncsi报文后进行相应的配置。

具体地,在识别了ncsi网卡后,bmc调用了预先存储(移植)在其上的数据包处理函数库,bmc能够通过该数据包处理函数库发送和接收ncsi报文,当接收到bmc发送的报文(以太网)时,通过数据包处理函数库将该报文解析后按照ncsi协议生成ncsi报文并发送至ncsi网卡,从而实现对ncsi网卡的配置;当接收到ncsi网卡发送的ncsi报文时,通过数据包处理函数库将该ncsi报文解析后按照bmc发送的报文的预设标准生成报文(以太网)并发送至bmc。

需要说明的是,这里所说的数据包处理函数库接收到的报文可以通过调用该数据库中的函数捕获某些数据包,例如,网络流量统计;这里对报文的解析可以是对捕获的数据包进行分析,例如,分析网络协议,数据的采集等等,本发明在此不做特别的限定。

本发明提供了一种配置ncsi网卡的方法,用于bmc芯片,包括识别网络控制器边带接口ncsi网卡;调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡,供ncsi网卡接收到ncsi报文后进行相应的配置。

本发明在配置ncsi网卡时,无需使用设有网卡控制器的专用的bmc芯片,只需使用市场上价格较低的普通bmc芯片,该种芯片具有标准的网络接口,再通过应用层软件数据包处理函数库实现ncsi报文的处理、发送和接收,最终完成ncsi网卡的配置。由于数据包处理函数库在命名等方面已形成标准格式,与现有技术相比,通过数据包处理函数库对ncsi网卡进行配置的方法简单高效,不易出错,而且在bmc芯片上为用户增加了更多的选择,降低了实现成本。

在上述实施例的基础上:

作为一种优选的实施例,数据包处理函数库为libpcap函数库。

具体地,考虑到数据包处理函数库要操作简单且方便移植,本发明选用libpcap函数库,除此之外,libpcap函数库占用空间小,适合移植到bmc芯片上,调用libpcap函数库中的函数,可以寻找当前ncsi网卡的网卡信息,获取所有网络接口以及获取特定网络接口的相关信息;还可以通过libpcap函数库设置过滤规则,以使得libpcap函数库捕获的数据包都是本发明中bmc设置ncsi网卡的数据包,例如,通过设置过滤条件,只接收以太网mac(mediaaccesscontrol,媒体访问控制或物理地址)地址为00:e0:09:c1:0e:82的数据包,这样可以防止接收到无效的数据包,提高了配置效率。

libpcap函数库为开源函数库,方便移植和跨平台编写,可以很好地降低开发成本;操作简单,提高了ncsi网卡的配置效率。

需要说明的是,数据包处理函数库可以为但不限于上述的libpcap函数库,本发明在此不做特别的限定。

作为一种优选的实施例,调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡的过程具体为:

通过libpcap函数库监听对端ncsi报文;

当libpcap函数库接收到对端ncsi报文后,解析对端ncsi报文,并获取ncsi网卡的信息;

根据ncsi协议标准,通过libpcap函数库生成ncsi报文;

根据信息,通过libpcap函数库将ncsi报文发送至ncsi网卡。

具体地,bmc上的操作系统通过libpcap函数库监听对端ncsi报文,当物理网络发生链接状态变化时,按照ncsi协议,ncsi网卡就会发出ncsi报文,libpcap接收到ncsi报文后,通过解析该报文就可以得到ncsi网卡的详细信息;通过分析得到ncsi报文的网络协议,然后将bmc发出的报文生成ncsi报文,例如组织报文头部和数据以支持ncsi协议,bmc再通过libpcap的报文发送功能直接将ncsi报文发送给对端的ncsi网卡,ncsi网卡收到bmc发送的报文后进行相应的配置。需要说明的是,这里的对端是指服务器端的ncsi网卡。

可见,本发明通过应用层软件libpcap函数库实现ncsi报文的处理、发送和接收,最终完成ncsi网卡的配置。由于libpcap函数库在命名和函数调用等方面已形成标准格式,通过libpcap函数库对ncsi网卡进行配置的方法简单高效,不易出错,从而在bmc芯片上为用户增加了更多的选择,降低了实现成本。

作为一种优选的实施例,在libpcap函数库接收到对端ncsi报文后之后,该方法还包括:

通过libpcap函数库存储对端ncsi报文。

具体地,考虑到捕获的ncsi报文要进行后续的分析处理,本发明可以通过调用libpcap中的函数来保存对端ncsi报文,也可以方便用户查看,需要说明的是,本发明可以通过libpcap函数库进行存储,也可以采取其他的方式来进行该过程,本发明在此不做特别的限定。

作为一种优选的实施例,ncsi网卡的信息包括网卡编号和ip地址。

具体地,网卡编号也就是mac地址,mac地址是ncsi网卡决定的,是固定的,当得到网卡编号和ip地址后,就可以通过libpcap的报文发送功能直接将ncsi报文发送给服务器端的相应的ncsi网卡,然后对其进行配置。当然,除了网卡编号和ip地址,ncsi网卡的信息还可以为其它,本发明在此不做特别的限定。

请参考图2,图2为本发明所提供的一种配置ncsi网卡的系统的结构示意图,用于bmc芯片,该系统包括:

识别单元1,用于识别ncsi网卡;

调用单元2,用于调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡,供ncsi网卡接收到ncsi报文后进行相应的配置;

数据库,用于存储数据包处理函数库。

作为一种优选的实施例,数据包处理函数库为libpcap函数库。

作为一种优选的实施例,调用单元2包括:

监听子单元,用于通过libpcap函数库监听对端ncsi报文;

解析子单元,用于当libpcap函数库接收到对端ncsi报文后,解析对端ncsi报文,并获取ncsi网卡的信息;

生成子单元,用于根据ncsi协议标准,生成ncsi报文;

发送子单元,用于根据信息,通过libpcap函数库将ncsi报文发送至ncsi网卡。

作为一种优选的实施例,该系统还包括:

存储单元,用于在libpcap函数库接收到对端ncsi报文后,存储对端ncsi报文。

对于本发明提供的一种配置ncsi网卡的系统的详细介绍请参照上述方法实施例,本发明在此不再赘述。

为解决上述技术问题,本发明还提供了一种配置ncsi网卡的计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如下步骤:

识别网络控制器边带接口ncsi网卡;

调用预设的数据包处理函数库生成并发送用于配置ncsi网卡的ncsi报文至ncsi网卡,供ncsi网卡接收到ncsi报文后进行相应的配置。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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