Qfwfq
驱动牛犊
驱动牛犊
  • 注册日期2001-04-06
  • 最后登录2002-06-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1742回复:7

高速网卡驱动

楼主#
更多 发布于:2002-06-14 10:45
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧

哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。
Master_Yi
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2004-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-24 12:02
不是每个包都会产生中断的.开个大点的BUFFER,收上十个八个包再中断就行了嘛.
我读书少,不要欺负我呀!
flyhobo
驱动小牛
驱动小牛
  • 注册日期2004-03-05
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-27 15:33
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧

哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。

你能否再详细说明一下Task Offload和Jumbo Frame或相关资料连接,谢了!!
哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。



[编辑 -  5/12/04 by  flyhobo]
好好过日子
flyhobo
驱动小牛
驱动小牛
  • 注册日期2004-03-05
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-12 17:01
再次关注
好好过日子
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-12 17:16
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧

哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。

Jumbo Frame是没有意义的,因为如果接收端的网卡不支持Jumbo Frame那样就收不到这个包,一般Jumbo Frame只用在局域网中同一类型的卡上(如网卡对连)。
高速网卡一般都支持中断均衡,即可以指定在连续多少个包(中断)之后才出发一个中断,或者支持定时器,所以中断也不是问题
zgm78
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-16 10:56
应该不是每一帧中断一次吧,
高速网卡是不都该有一个高速缓存,可以设定在有多少空闲缓存的时候就中断一次,让你可以及时写入等待发送的数据?接收也是相同的情况,我都是猜的哈!
mboma
驱动牛犊
驱动牛犊
  • 注册日期2003-02-21
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-19 13:31
我的理解:可以开大的buffer,一次接受到数个包之后来一次中断。驱动将这些包拷贝到系统内存中再由上层协议处理。

我们这里做的高速板卡是由DSP和FPGA实现数据包的拆封和收发,而驱动程序可以跟DSP交互进而对收发包进行控制,避免频繁中断。

flyhobo
驱动小牛
驱动小牛
  • 注册日期2004-03-05
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-05-19 13:38
我们这里做的高速板卡是由DSP和FPGA实现数据包的拆封和收发,而驱动程序可以跟DSP交互进而对收发包进行控制,避免频繁中断。

你能详细说说驱动程序怎么和DSP交互嘛?
好好过日子
游客

返回顶部