本发明专利技术公开了一种网卡的加载方法及系统。该网卡的加载方法包括:获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令以及该设备中各网卡的第二PCI信息;根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡;根据所述控制指令对所述待加载网卡进行加载。本发明专利技术通过向内核写入待控制网卡的第一PCI信息和控制指令,以使内核能根据第一PCI信息对内核读取的设备的所有网卡进行识别,进而选择性地加载网卡。
【技术实现步骤摘要】
本专利技术涉及服务器板卡
,具体涉及一种网卡的加载方法及系统。
技术介绍
linux源码在编译时,可以选择将一些功能编译为模块,使得它们和内核不耦合在一起,这样内核占用的空间就会比较小,当需要某个功能时,可以动态的对相关模块进行加载。有时候,用户态程序需要对内核加载模块的过程进行一定的干预,使得内核按照用户态程序的设置来加载模块。比如设备有2块同样的网卡e1000e,当加载模块e1000e.ko时,内核相当于将这两块网卡同时初始化,当模块加载完成后,两块网卡都可以使用了。但是有时候,不需要同时加载两个网卡,可能仅仅需要加载其中一个,而另一个留给其他程序进行处理。
技术实现思路
针对现有技术中的缺陷,本专利技术提供了一种网卡的加载方法及系统,能选择性地加载网卡。本专利技术提出了一种网卡的加载方法,包括:获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令以及该设备中各网卡的第二PCI信息;根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡;根据所述控制指令对所述待加载网卡进行加载。可选的,所述待控制网卡包括:待加载网卡或不加载网卡;相应地,所述获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令包括:获取待加载网卡或不加载网卡的第一PCI信息和与所述第一PCI信息对应的控制指令。可选的,所述根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡,具体包括:对待加载网卡或不加载网卡的第一PCI信息和所述第二PCI信息进行匹配,获取匹配结果;根据所述匹配结果从各网卡中获取所述待加载网卡。可选的,所述获取设备中待控制网卡的第一PCI信息,具体包括:接收用户态程序发送的第一PCI信息,所述第一PCI信息为所述用户态程序通过命令lspci|grep‘0200’获取的所述设备的待控制网卡的PCI信息。可选的,所述第一PCI信息和所述第二PCI信息均包括:总线号和设备编号ID。本专利技术还提出了一种网卡的加载系统,包括:第一获取模块,用于获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令以及该设备中各网卡的第二PCI信息;第二获取模块,用于根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡;记载模块,用于根据所述控制指令对所述待加载网卡进行加载。可选的,所述待控制网卡包括:待加载网卡或不加载网卡;相应地,所述第一获取模块,具体用于获取待加载网卡或不加载网卡的第一PCI信息和与所述第一PCI信息对应的加载控制指令。可选的,所述第二获取模块,具体用于对待加载网卡或不加载网卡的第一PCI信息和所述第二PCI信息进行匹配,获取匹配结果;根据所述匹配结果从各网卡中获取所述待加载网卡。可选的,所述第一获取模块,具体用于接收用户态程序发送的第一PCI信息,所述第一PCI信息为所述用户态程序通过命令lspci|grep‘0200’获取的所述设备的待控制网卡的PCI信息。可选的,所述第一PCI信息和所述第二PCI信息均包括:总线号和设备编号ID由上述技术方案可知,本专利技术提出的网卡的加载方法,通过向内核写入待控制网卡的第一PCI信息和控制指令,以使内核能根据第一PCI信息对内核读取的设备的所有网卡进行识别,进而选择性地加载网卡。附图说明通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:图1示出了本专利技术一实施例提出的一种网卡的加载方法的流程示意图;图2示出了本专利技术一实施例提出的一种网卡的加载系统的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术一实施例提出的一种网卡的加载方法的流程示意图,参照图1,该网卡的加载方法包括:110、内核获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令以及该设备中各网卡的第二PCI信息;需要说明的是,用户态的应用程序(用户态程序)通过系统调用进入内核空间,此时,用户态程序将传递很多变量、参数的值给内核,例如:本专利技术中设备的待控制网卡的第一PCI信息和控制指令,控制指令可以为加载控制指令或者不加载控制指令;此处的设备中所有网卡的第二PCI信息为内核读取各网卡时获取的。120、根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡;需要说明的是,内核在获取用户态程序发送的第一PCI信息以及内核采集的第二PCI信息后,将根据第一PCI信息和第二PCI信息从设备所有的网卡中选取出待加载的网卡;可理解的是,内核也可以选取出不加载的网卡,并对不加载网卡之外的其余网卡进行加载。130、根据所述控制指令对所述待加载网卡进行加载。需要说明的是,控制指令为加载控制指令或者是不加载控制指令,内核根据控制指令以及控制指令与第一PCI信息的对应关系,即可判断设备的每个网卡是否要加载,若要加载,则对网卡进行加载;综上所述,本专利技术通过向内核写入待控制网卡的第一PCI信息和控制指令,以使内核能根据第一PCI信息对内核读取的设备的所有网卡进行识别,进而选择性地加载网卡。在一可行的实施例中,步骤110中的待控制网卡为待加载网卡;相应地,步骤110具体包括:获取待加载网卡第一PCI信息和与所述第一PCI信息对应的加载控制指令;步骤120,具体包括:对待加载网卡的第一PCI信息和第二PCI信息进行匹配,获取匹配结果;根据所述匹配结果从各网卡中获取所述待加载网卡。需要说明的是,本实施例通过用户态程序将获取的待加载网卡的第一PCI信息发送给内核,内核对采集到的设备各网卡的第二PCI信息和接收到的第一PCI信息进行匹配,从所有网卡的第二PCI信息中识别出与第一PCI信息相匹配的第二PCI信息以及该第二PCI信息对应的网卡,并根据加载控制指令对该网卡进行加载;可理解的是,其他不符合匹配规则的网本文档来自技高网...
【技术保护点】
一种网卡的加载方法,其特征在于,包括:获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应的控制指令以及该设备中各网卡的第二PCI信息;根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加载网卡;根据所述控制指令对所述待加载网卡进行加载。
【技术特征摘要】
1.一种网卡的加载方法,其特征在于,包括:
获取设备中待控制网卡的第一PCI信息、与所述第一PCI信息对应
的控制指令以及该设备中各网卡的第二PCI信息;
根据所述第一PCI信息和所述第二PCI信息从各网卡中获取待加
载网卡;
根据所述控制指令对所述待加载网卡进行加载。
2.根据权利要求1所述的方法,其特征在于,所述待控制网卡包
括:待加载网卡或不加载网卡;
相应地,所述获取设备中待控制网卡的第一PCI信息、与所述第
一PCI信息对应的控制指令包括:
获取待加载网卡或不加载网卡的第一PCI信息和与所述第一PCI
信息对应的控制指令。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一
PCI信息和所述第二PCI信息从各网卡中获取待加载网卡,具体包括:
对待加载网卡或不加载网卡的第一PCI信息和所述第二PCI信息
进行匹配,获取匹配结果;
根据所述匹配结果从各网卡中获取所述待加载网卡。
4.根据权利要求1所述的方法,其特征在于,所述获取设备中待
控制网卡的第一PCI信息,具体包括:
接收用户态程序发送的第一PCI信息,所述第一PCI信息为所述用
户态程序通过命令lspci|grep‘0200’获取的所述设备的待控制网卡的
PCI信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一
PCI信息和所述第二PC...
【专利技术属性】
技术研发人员:李鹏,
申请(专利权)人:汉柏科技有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。