|
(转载)Testing Network Drivers with the NDIS Test Tool(1)
(转载)
Testing Network Drivers with the NDIS Test Tool July 15th, 2003 Stephan Wolf Copyright © 2003 by Stephan Wolf. All rights reserved Any device driver that you write has the potential risk of crashing the system. Thus, you should intensively test your driver before shipping it. Network drivers only cause about 1% of all Windows system crashes for good reason: The official Microsoft NDISTest Tool is the acid test for all "lower edge" NDIS network drivers sUCh as NDIS miniport and NDIS intermediate drivers. If you write an NDIS driver, you should use NDISTest at any stage during your driver development to verify the driver's integrity and stability. Not only will NDISTest find bugs in your driver that cause system crashes, but it will also help you to write a fully NDIS conformant driver with respect to all of the following: - Replies to get and set requests for mandatory as well as optional OIDs
- Handling of uneXPected NDIS failure replies
- Indication of cable connect and disconnect events
- Driver halt/restart and unload/reload
- Adapter reset request
- Send and receive path and send packet cancellation
- Receive filter including multicast frames, promiscuous mode etc.
- Task Offload such as TCP/IP checksum offload and IPSec offload
- ...and more
Which NDIS drivers can I test with NDISTest?NDISTest can test all of the following NDIS drivers: - NDIS miniport drivers for the following physical network adapter types:
- Ethernet
- Token Ring
- FDDI
- ATM
- ISDN
- Modem
- IrDA
- WLAN
- WWAN (some WWAN devices have known troubles with the send/recv and load/unload tests)
- SAN (the SAN tests require extra scripts that are shipped in the HCT but are not part of the standalone NDISTest download)
- NDIS intermediate (IM) drivers that implement virtual network adapters
What equipment do I need to test my NDIS driver?Although you can run NDISTest with just a single network card in one machine (see "one card tests" below), I recommend using two computers, four network cards, and two hubs to run NDISTest, as shown in Figure One.
|