阅读:1501回复:6
请问:MTU 问题
我在NDIS 做包封装。由于网卡的MTU 一般是1500,所以,在NDIS 封
装后的包包长很有可能大于1500,比如ftp 的put。这在我的程序中 会导致很多的问题。 我的希望是NDIS 接收到的包包长不大于某个指定值(比如1400,要 比1500 小),不知道该怎么实现好... 高手指点... //bow~~ 我知道可以通过修改注册表将指定网卡的MTU 值解决这个问题。但 这不是我所希望的方法。我希望是软件实现。 |
|
|
沙发#
发布于:2003-10-29 11:38
补充一点:数据包的来源是本机。
|
|
|
板凳#
发布于:2003-10-29 12:55
这篇文章应该可以解决你得问题。
|
|
|
地板#
发布于:2003-11-03 15:50
非常感谢r 兄... 只是,附件我不能下载啊,不知是
怎么回事... 能不能打个包发我邮箱里? nick_fei@sina.com 麻烦r 兄了... |
|
|
地下室#
发布于:2003-11-04 13:01
to mobi:
已经给你发邮件了。 |
|
|
5楼#
发布于:2003-11-04 13:45
非常感谢
|
|
|
6楼#
发布于:2003-11-04 19:28
在passthru中的miniport.c里有一个函数是mpqueryinformation,你可以在NdisRequest调用之后,但在整个函数返回之前,拦截一个oid:OID_GEN_MAXIMUM_FRAME_SIZE
然后把*(ULONG *)pAdapt->Request.DATA.QUERY_INFORMATION.InformationBuffer =YOUR_MTU; 如果YOUR_MTU=1200,那么MTU就是1200, |
|
|