[发明专利]一种加速网卡报文捕获的方法无效
申请号: | 200710144152.9 | 申请日: | 2007-12-29 |
公开(公告)号: | CN101217573A | 公开(公告)日: | 2008-07-09 |
发明(设计)人: | 黎忠文;黄凯明;刘峰 | 申请(专利权)人: | 厦门大学 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L29/10 |
代理公司: | 厦门南强之路专利事务所 | 代理人: | 马应森 |
地址: | 361005福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加速 网卡 报文 捕获 方法 | ||
1.一种加速网卡报文捕获的方法,其特征在于包括以下步骤:
1)修改接收缓冲环初始化函数;
2)屏蔽中断;
3)用户空间内存映射:
(1)查看/proc/iomem取得网卡上寄存器的首地址和地址范围,通过内存映射函数mmap将网卡上寄存器的首地址映射到用户虚拟地址空间,达到在用户空间对网卡上的寄存器进行直接读写;
(2)通过网卡物理首地址和网卡上寄存器的偏移地址获得网卡上特定寄存器的物理地址,将网卡上特定寄存器物理地址映射到用户虚拟地址空间;
(3)用户空间内存映射建立过程和用户空间控制网卡初始化;
(4)用户空间内存映射解除过程;
4)用户空间接收处理过程;
5)相关数据结构定义。
2.如权利要求1所述的一种加速网卡报文捕获的方法,其特征在于所述的修改接收缓冲环初始化函数是:
在int e1000_up(structe1000_adapter*adapter)函数中将
for(i=0;i<adapter->num_rx_queues;i++){
structe1000_rx_ring*ring=&adapter->rx_ring[i];
adapter->alloc_rx_buf(adapter,ring,
E1000_DESC_UNUSED(ring));
}
修改为:
for(i=0;i<adapter->num_rx_queues;i++){
struct e1000_rx_ring*ring=&adapter->rx_ring[i];
adapter->alloc_rx_buf(adapter,ring,
E1000_DESC_UNUSED(ring)+1);
}
本修改完成每个接收描述符结构(receive descriptor)对应一块内存缓冲区(MemoryBuffer),内存缓冲区存放接收到的网络数据包。
3.如权利要求1所述的一种加速网卡报文捕获的方法,其特征在于所述的屏蔽中断是:
在int e1000_up(struct e1000_adapter*adapter)函数中加入disable_irq(adapter->pdev->irq),函数disable_irq是专门的中断屏蔽函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710144152.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:工频发光二极管照明灯
- 下一篇:锅炉用复合陶瓷燃烧器