一种路由报文从网卡经内核到路由模块的传输方法技术

技术编号:33652029 阅读:76 留言:0更新日期:2022-06-02 20:30
本发明专利技术提供了一种路由报文从网卡经内核到路由模块的传输方法,包括如下步骤:当VLAN配置IP时,创建对应的TAP,这时在Linux设备文件目录下会生成一个对应的char设备;当一个TAP设备被创建时,在Linux设备文件目录下将会生成一个对应char设备,用户程序可以像打开普通文件一样打开这个文件进行读写;当交换芯片SDK收到路由报文时,调用write()函数将报文写入TAP文件;当路由模块有报文经过协议栈发送时,调用read()函数向内核查询TAP设备上是否有需要被发送出去的数据。本发明专利技术通过使用TAP在SDK驱动(用户态)与内核协议栈进行报文交互的,仅关注用户态,扩展性强;本发明专利技术降低了编程复杂度,使用程序员专注于用户态,增强了代码可维护性、扩展性。扩展性。扩展性。

【技术实现步骤摘要】
一种路由报文从网卡经内核到路由模块的传输方法


[0001]本专利技术涉及路由报文在路由(或三层交换机)内部的传输方法,尤其是涉及一种路由报文从网卡经内核到路由模块的传输方法。

技术介绍

[0002]在传统意义的三层设备中,每个VLAN对应一个IP网段,它们可以配置IP地址形成路由接口。当vlan配置ip时,会相应地在linux内核创建网络设备(net_device)。当收到路由报文时,判断目的ip是否是该vlan,如果是则将报文送给该网络设备,再将报文传递到内核中的网络协议栈。报文经过协议栈的处理,最终传送给路由模块(ospf、rip、bgp)。网络报文的发送与之相反,路由模块通过系统调用(socket)将数据送入网络协议栈,最后到达对应的VLAN的网络设备(net_device),然后调度驱动程序使其将报文传送给网络设备,从而发送出去。当存在多个三层vlan时,会导致创建多个网络设备,编码涉及内核态和用户态,难度大,扩展性差。
[0003]公开于该
技术介绍
部分的信息仅仅旨在加深对本专利技术的总体
技术介绍
的理解,而不应当被视为承认或以任本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种路由报文从网卡经内核到路由模块的传输方法,其特征在于,包括如下步骤:当VLAN配置IP时,创建对应的TAP,这时在Linux设备文件目录下会生成一个对应的char设备;当一个TAP设备被创建时,在Linux设备文件目录下将会生成一个对应char设备,用户程序可以像打开普通文件一样打开这个文件进行读写;当交换芯片SDK收到路由报文时,调用...

【专利技术属性】
技术研发人员:刘双杨国文
申请(专利权)人:北京卓越信通电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1