一种同时管理用户态网口与内核虚拟网口的方法

文档序号:7775553阅读:273来源:国知局
一种同时管理用户态网口与内核虚拟网口的方法
【专利摘要】本发明实施例提供了一种同时管理用户态网口与内核虚拟网口的方法,可实现同步配置管理用户态网口与内核虚拟网口,满足了内核态操作系统一些业务模块对物理网卡网口状态的感知与操作需求,该方法包括:所述用户态命令行操作界面加载物理网卡驱动并注册用户态网口;所述内核态操作系统接收用户态网口的属性信息,通过新增网口函数建立并注册内核虚拟网口;所述内核虚拟网口接收用户态网口的配置管理信息,并进行相应配置管理操作。
【专利说明】 —种同时管理用户态网口与内核虚拟网口的方法
【技术领域】
[0001]本发明涉及网络【技术领域】,具体涉及一种同时管理用户态网口与内核虚拟网口的方法。
技术背景
[0002]现有技术中物理网卡驱动的加载方式主要有两种:内核态操作系统加载及用户态命令行操作界面加载。但两种方式在实际应用中都存在一定缺陷,具体如下:
[0003]内核态操作系统加载网卡驱动并注册网口,网口管理及网口配置仅由内核态操作系统控制完成。此时,对于一些运行在用户态命令行操作界面的业务则无法满足其对物理网口状态的感知与操作需求。
[0004]用户态命令行操作界面加载网卡驱动并注册网口,网口管理及网口配置仅由用户态命令行操作界面控制完成。此时,对于一些基于内核态操作系统实现的业务则无法满足其对物理网口状态的感知与操作需求。

【发明内容】

[0005]有鉴于此,本发明实施例提供了一种同时管理用户态网口与内核虚拟网口的方法,其中用户态网口与内核虚拟网口的个数、类型、名称、索引及钩子函数均相同,保证用户在配置用户态网口的同时下发配置信息到内核虚拟网口,使内核虚拟网口与用户态网口的配置也完全相同,同时满足内核态操作系统与用户态命令行操作界面对网口的配置及管理需求。
[0006]本发明一实施例提供了一种同时管理用户态网口与内核虚拟网口的方法,适用于一种可自编译的内核态操作系统,所述内核态操作系统上运行着至少一个用户态命令行操作界面,所述方法包括:
[0007]所述用户态命令行操作界面加载物理网卡驱动并注册用户态网口 ;
[0008]所述内核态操作系统接收用户态网口的属性信息,通过新增网口函数建立并注册内核虚拟网口;
[0009]所述内核虚拟网口接收用户态网口的配置管理信息,并进行相应配置管理操作。
[0010]其中,所述用户态网口的属性信息包括:网口的个数、类型、名称、索引和钩子函数。
[0011]其中,所述通过新增网口函数建立并注册内核虚拟网口包括:当内核态操作系统中不存在用户态网口的钩子函数时,添加空函数,其中所述空函数只有相应钩子函数名没有实际操作。
[0012]其中,进一步包括:当用户态网口与内核虚拟网口均注册成功时,所述内核态操作系统向所述用户态命令行操作界面反馈注册成功信息;否则判定注册失败,重新注册用户态网口和/或内核虚拟网口。
[0013]其中,所述内核虚拟网口接收用户态网口的配置管理信息包括:当内核虚拟网口进行配置管理操作成功时,内核态操作系统反馈操作成功信息给用户态命令行操作界面;否则内核虚拟网口继续接收配置管理信息。
[0014]其中,所述配置管理操作包括:用户态网口所感知的物理网卡链接状态及更新信息;
[0015]用户态网口的命令行配置操作信息;
[0016]用户态网口对虚接口的创建及绑定操作信息;
[0017]用户态网口对虚接口的配置操作信息。
[0018]其中,所述命令行配置操作包括:配置网口的mac、ip、route。
[0019]其中,所述虚接口包括:vlan子接口、桥接口、链路聚合口。
[0020]本发明公开的同时管理用户态网口与内核虚拟网口的方法,物理网卡在用户态命令行操作界面注册用户态网口,同时在内核操作系统创建一套内核虚拟网口,该内核虚拟网口的个数、类型、名称、索引及钩子函数均与用户态网口一致,并保证在配置用户态网口的同时下发配置信息到内核虚拟网口。实现同时管理用户态网口与内核虚拟网口,满足内核态操作系统一些业务模块对物理网卡网口状态的感知与操作需求。
【专利附图】

【附图说明】
[0021]图1所示为本发明一实施例提供的一种同时管理用户态网口与内核虚拟网口的方法的流程图;
[0022]图2所示为本发明另一实施例提供的虚拟网口接收用户态网口的配置管理信息,并进行相应操作的流程图;
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]本发明实施例提供了一种同时管理用户态网口与内核虚拟网口的方法,适用于一种可自编译的操作系统。所述可自编译的操作系统为可对系统文件进行修改并生成新的系统镜像的内核操作系统。其中,所述原始操作系统为Iinux内核操作系统,所述用户态系统镜像为用户态命令行操作界面程序。
[0025]图1所示为本发明一实施例提供的一种同时管理用户态网口与内核虚拟网口的方法的流程图,如图1所示,该方法包括:
[0026]步骤101:用户态命令行操作界面加载物理网卡驱动并注册用户态网口。
[0027]此时,物理网卡部署在用户态命令行操作界面,驱动加载及网口注册都在用户态命令行操作界面完成,用户态命令行操作界面独立维护管理用户态网口。
[0028]步骤102:内核态操作系统接收用户态网口的属性信息,通过新增网口函数建立并注册内核虚拟网口。
[0029]所述用户态网口的属性信息包括:个数、类型、名称、索引和钩子函数。
[0030]所述钩子函数可捕捉操作系统进程或进程所引发的事件,并通过钩挂返回给操作系统一个处理或过滤事件的回调函数。
[0031]这里,新增网口函数所需要的属性为网口的名称、索引和个数,注册内核虚拟网口时要将用户态网口的钩子函数及其他属性一同注册。
[0032]在本发明一实施例中,当内核态操作系统中不存在用户态网口的钩子函数时,添加空函数,其中所述空函数只有相应钩子函数名没有实际操作,以满足用户态网口配置下发时对钩子函数的操作要求。
[0033]在本发明一实施例中,当用户态网口与内核虚拟网口均注册成功时,所述内核态操作系统向所述用户态命令行操作界面反馈注册成功信息;否则判定注册失败,重新注册用户态网口和/或内核虚拟网口。
[0034]这样用户态网口与内核虚拟网口的属性信息一致,才能保证内核虚拟网口准确的接收到来自用户态网口的配置管理信息,从而实现同时管理用户态网口与内核虚拟网口。
[0035]步骤103:内核虚拟网口接收用户态网口的配置管理信息,并进行相应配置管理操作。
[0036]在本发明一实施例中,当内核虚拟网口进行配置管理操作成功时,内核态操作系统反馈操作成功信息给用户态命令行操作界面;否则内核虚拟网口继续接收配置管理信
肩、O
[0037]图2所示为本发明另一实施例提供的虚拟网口接收用户态网口的配置管理信息,并进行相应操作的流程图。如图2所示,包括:
[0038]步骤201:用户态网口感知物理网卡的链接状态,并将链接状态的更新信息下发到内核虚拟网口。
[0039]在本发明一实施例中,当内核虚拟网口状态更新完成后,内核态操作系统将更新成功信息返回给用户态命令行操作界面;否则用户态网口继续下发更新信息。
[0040]步骤202:用户态网口将命令行配置操作信息下发到内核虚拟网口。
[0041]在本发明一实施例中,当内核虚拟网口配置完成后,内核态操作系统将配置成功信息返回给用户态命令行操作界面;否则用户态网口继续下发配置操作信息。
[0042]其中,所述命令行配置操作包括:配置网口的mac、ip、route。
[0043]命令行下发配置一般会下发网口的名称、索引等属性信息,由于本发明所提供技术方案中用户态网口与内核虚拟网口的属性信息一致,配置下发过程准确流畅,这也是步骤102要使用户态网口与内核虚拟网口的名称、索引一致的原因。
[0044]步骤203:用户态网口将vlan子接口、桥接口、链路聚合口的创建及桥接口绑定、链路聚合口绑定等命令行操作信息下发到内核虚拟网口。
[0045]在本发明一实施例中,当内核虚拟网口操作完成后,内核态操作系统将操作成功信息返回给用户态命令行操作界面;否则用户态网口继续下发操作信息。
[0046]步骤204:用户态网口将对vlan子接口、桥接口、链路聚合口的配置操作信息也下发到内核虚拟网口相应创建的VI an子接口、桥接口、链路聚合口。
[0047]在本发明一实施例中,当内核虚拟网口配置完成后,内核态操作系统将配置操作成功信息返回给用户态命令行操作界面;否则用户态网口继续下发配置操作信息。
[0048]由于内核虚拟网口和用户态网口的个数、类型、名称、索引和钩子函数相同,用户态网口的配置指令以及对物理网卡的感知信息都会下发到内核虚拟网口,从而使内核虚拟网口也执行相应操作,从而实现同时管理用户态网口与内核虚拟网口。
[0049]本领域技术人员可以理解,对于用户态网口与内核虚拟网口的配置管理操作可以仅包含步骤201?204中的一个或多个;同时,对于用户态网口与内核虚拟网口的其他配置管理也在本发明的保护范围内。
[0050]本领域技术人员可以理解,以上所有的步骤均可以使用程序代码来实现,并不代表实际的实现过程。
[0051]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种同时管理用户态网口与内核虚拟网口的方法,其特征在于,适用于一种可自编译的内核态操作系统,所述内核态操作系统上运行着至少一个用户态命令行操作界面,所述方法包括: 所述用户态命令行操作界面加载物理网卡驱动并注册用户态网口; 所述内核态操作系统接收用户态网口的属性信息,通过新增网口函数建立并注册内核虚拟网口 ; 所述内核虚拟网口接收用户态网口的配置管理信息,并进行相应配置管理操作。
2.根据权利要求1所述的方法,其特征在于,所述用户态网口的属性信息包括:网口的个数、类型、名称、索引和钩子函数。
3.根据权利要求2所述的方法,其特征在于,所述通过新增网口函数建立并注册内核虚拟网口包括:当内核态操作系统中不存在用户态网口的钩子函数时,添加空函数,其中所述空函数只有相应钩子函数名没有实际操作。
4.根据权利要求3所述的方法,其特征在于,进一步包括:当用户态网口与内核虚拟网口均注册成功时,所述内核态操作系统向所述用户态命令行操作界面反馈注册成功信息;否则判定注册失败,重新注册用户态网口和/或内核虚拟网口。
5.根据权利要求1所述的方法,其特征在于,所述内核虚拟网口接收用户态网口的配置管理信息包括:当内核虚拟网口进行配置管理操作成功时,内核态操作系统反馈操作成功信息给用户态命令行操作界面;否则内核虚拟网口继续接收配置管理信息。
6.根据权利要求1或5所述的方法,其特征在于,所述配置管理信息包括: 用户态网口所感知的物理网卡链接状态及更新信息;和/或, 用户态网口的命令行配置操作信息;和/或, 用户态网口对虚接口的创建及绑定操作信息;和/或, 用户态网口对虚接口的配置操作信息。
7.根据权利要求6所述的方法,其特征在于,所述命令行配置操作包括:配置网口的mac、ip、route。
8.根据权利要求6所述的方法,其特征在于,所述虚接口包括:vlan子接口、桥接口、链路聚合口。
【文档编号】H04L12/24GK103634142SQ201310540708
【公开日】2014年3月12日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】高福亮 申请人:天津汉柏信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1