wllee
驱动牛犊
驱动牛犊
  • 注册日期2001-12-27
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望75点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1483回复:4

how to develop new ndis media type?

楼主#
更多 发布于:2002-10-23 11:12
ddk 中只给了几种介质类型,如下:
typedef enum _NDIS_MEDIUM
{
NdisMedium802_3,
NdisMedium802_5,
NdisMediumFddi,
NdisMediumWan,
NdisMediumLocalTalk,
NdisMediumDix, // defined for convenience, not a real medium
NdisMediumArcnetRaw,
NdisMediumArcnet878_2,
NdisMediumAtm,
NdisMediumWirelessWan,
NdisMediumIrda,
NdisMediumBpc,
NdisMediumCoWan,
NdisMedium1394,
NdisMediumMax // Not a real medium, defined as an upper-bound
} NDIS_MEDIUM, *PNDIS_MEDIUM;

如果要开发新的
介质类型,给如何开始?
谢谢!
Lotto
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2002-10-23 19:48
ddk 中只给了几种介质类型,如下:
typedef enum _NDIS_MEDIUM
{
NdisMedium802_3,
NdisMedium802_5,
NdisMediumFddi,
NdisMediumWan,
NdisMediumLocalTalk,
NdisMediumDix, // defined for convenience, not a real medium
NdisMediumArcnetRaw,
NdisMediumArcnet878_2,
NdisMediumAtm,
NdisMediumWirelessWan,
NdisMediumIrda,
NdisMediumBpc,
NdisMediumCoWan,
NdisMedium1394,
NdisMediumMax // Not a real medium, defined as an upper-bound
} NDIS_MEDIUM, *PNDIS_MEDIUM;

如果要开发新的
介质类型,给如何开始?
谢谢!


最简单的方法是把你的网卡虚拟成为一种已知的类型,
通常是ethernet。
不再回忆从前,我已经生活在幸福当中。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-23 22:13
胡版主,98下虚拟网卡是用中间层做还是用miniport做?

那天有人和我说在98下用miniport做一个虚拟网卡实现的IPSEC,偶有些怀疑,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
地板#
发布于:2002-10-24 00:46
胡版主,98下虚拟网卡是用中间层做还是用miniport做?

那天有人和我说在98下用miniport做一个虚拟网卡实现的IPSEC,偶有些怀疑,


你不需要太怀疑。我能猜得到他是如何实现的。发送
数据通过修改路由,接收数据通过注册一个协议。

不过我认为这种方法并不太好,虽然freeswan的klips
也用类似方法。不过这个实现机制我一直觉得他们当时
可能是为了某些我想不到的原因,我相信他们一定有
足够的理由可以说服我为什么要这么实现。


mstcp.vxd和tcp.sys里面输出若干个函数,通过这些函数
加虚拟网卡才是最佳解决方案。2k/xp的beta版本ddk中
有若干痕迹,不过正式版都没有了。而9x,关于这个driver
的描述除了tdi接口的那点之外,整个internet似乎都没有。



不再回忆从前,我已经生活在幸福当中。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-24 09:10
 

mstcp.vxd和tcp.sys里面输出若干个函数,通过这些函数
加虚拟网卡才是最佳解决方案。2k/xp的beta版本ddk中
有若干痕迹,不过正式版都没有了。而9x,关于这个driver
的描述除了tdi接口的那点之外,整个internet似乎都没有
 

正是这样,我有的95和98的ddk里面都没有这方面的描述,例子也没有,微软的网站上更是什么都找不到现在正郁闷呢。

那个人说他们在2k和98下用的是同样的一个miniport的程序,只是分别编了一下

另外enternet也是在98下做了一个虚拟网卡实现的pppoe,他实现pppoe用的方式应该也可以用来实现VPN吧?不过还没有搞明白他是怎么实现的。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
游客

返回顶部