【技术实现步骤摘要】
一种Linux环境网络接口结构体内存处理方法及装置
本申请涉及网络
,尤其涉及一种Linux环境网络接口结构体内存处理方法及装置。
技术介绍
在Linux操作系统中,网络设备接口层通过net_device结构体,统一地定义不同的网络接口,实现多种硬件在软件层次上的统一。每个接口对应的net_device结构体中,包括网络接口的名称、物理地址、与接口一一对应的索引等信息。有进程需要使用某一网络接口时,创建该接口的net_device结构体,并为结构体中的变量动态分配内存,之后,其他进程可以通过创建的结构体使用该接口。当不再有进程使用该接口时,则注销该接口。现有技术在为接口创建结构体并分配内存的同时,采用引用计数记录各进程使用该接口的次数,当该接口的引用计数为0时,将自动注销该接口,并释放为接口的结构体分配的内存。但是,在接口被注销后,如果因引用计数错误使接口被错误地注销,或其他原因,导致仍有进程需要访问为结构体分配的内存,而此时所分配的内存已被释放,则将因为无法访问,造成系统宕机。
技术实现思路
有鉴于此,本申请提供一种Linux环境网络接口结构体内存处理方法及装 ...
【技术保护点】
一种Linux环境网络接口结构体内存处理方法,其特征在于,所述方法包括:当接收到接口使用请求时,根据使用请求提供的接口标识,查找目标内存地址,所述目标内存地址为分配于目标结构体的内存的首地址,所述目标结构体中包括所述接口标识;当未查找到所述目标内存地址时,创建包括所述接口标识、且带有接口状态标识的结构体;为所创建的结构体分配内存;将所创建的结构体的接口状态标识置为可用状态;当接收到接口注销请求时,查找包括注销请求提供的接口标识的结构体;将查找到的结构体的接口状态标识置为不可用状态,并且保留为所述查找到的结构体分配的内存。
【技术特征摘要】
1.一种Linux环境网络接口结构体内存处理方法,其特征在于,所述方法包括:当接收到接口使用请求时,根据使用请求提供的接口标识,查找目标内存地址,所述目标内存地址为分配于目标结构体的内存的首地址,所述目标结构体中包括所述接口标识;当未查找到所述目标内存地址时,创建包括所述接口标识、且带有接口状态标识的结构体;为所创建的结构体分配内存;将所创建的结构体的接口状态标识置为可用状态;当接收到接口注销请求时,查找包括注销请求提供的接口标识的结构体;将查找到的结构体的接口状态标识置为不可用状态,并且保留为所述查找到的结构体分配的内存。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当查找到所述目标内存地址时,使用查找到的所述目标内存地址,响应接口使用请求。3.根据权利要求1所述的方法,其特征在于,所述接口标识,包括:接口索引或接口名称。4.根据权利要求1所述的方法,其特征在于,所述接口标识中包括:接口类型和接口索引值。5.根据权利要求4所述的方法,其特征在于,所述为所创建的结构体分配内存,包括:预先创建二维指针数组,数组元素的数目与接口数目相同,其中,第一维指针的下标为接口类型,第二维指针的值为0、下标为接口索引值;为所创建的结构体分配内存;解析所分配内存的结构体中包括的接口标识,得到接口类型和接口索引值;根据得到的接口类型和接口索引值,查找目标二维指针数组元素;将所分配的内存的首地址,写入所述目标二维指针数组元素的第二维指针。6.根据权利要求5所述的方法,其特征在于,所述当接收到接口使用请求时,根据使用请求提供的接口标识,查找目标内存地址,所述目标内存地址为分配于目标结构体的内存的首地址,所述目标结构体中包括所述接口标识,包括:当接收到接口使用请求时,解析使用请求提供的接口标识,得到接口类型和接口索引值;根据得到的接口类型和接...
【专利技术属性】
技术研发人员:肖海波,
申请(专利权)人:杭州迪普科技股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。