阅读:1149回复:1
passthru中LBFO的问题
primaryminiport和secondaryminipor之间的负载平衡是由NDIS实现还是要我们自己实现?是不是只有passthru中提到的那一种平衡方式(所有的接收由primaryminiport进行,所有的发送由secondaryminiport进行;所有的发送与相关请求都被送到secondaryminiport)?
还有就是NdisMSetMiniportSecondary函数失败的原因是什么?我在自己的机器上试验(有一块有线网卡和一块无线网卡),刚开始两个bundleId不同,然后把有线网卡的bundleId改得与无线相同,没有问题(有线的变成secondary,绑定到无线的IP地址,ipconfig命令只看到无线IP);但当把无线的bundleId改得与有线相同时,就会出错,NdisMSetMiniportSecondary返回failure。为什么呢? |
|
最新喜欢:![]() |
沙发#
发布于:2004-05-31 09:53
LBFO要求bound ID 必须是相同的,因为PASSTHRU中有如下判断:
if (NdisEqualUnicodeString(&pCursor->BundleUniString, &pAdapt->BundleUniString, TRUE)) 如果BOUND ID 不同是不会区分主次网卡的,这时如果强制NdisMSetMiniportSecondary肯定 要返回失败。 不知道你如何判断LBFO绑定成功的,有一个简单的方法使PASSTHRU实现LBFO, 把MPBundleSearchAndSetSecondary的if (NdisEqualUnicodeString(&NoBundle, &pAdapt->BundleUniString, TRUE)) 注释掉就可以了,但要保证没别的网卡,也就是只有你要实现LBFO的两块网卡。这两快网卡的绑定ID 都会被设置为no boundid,而会被设置为LBFO。但要有选择的设置主网卡,还要做些改动。 另: NDIS不实现LBFO,必须自己完成。 |
|