On a whim I
installed the Windows 2000 DDK, downloaded the winpcap source code and went to
work on making a version of the driver that was safe for SMP machines.
(All my dev boxes are dual processor machines, and using winpcap means my
custom packet sniffers will work on windows and linux.)
This is the first
time I've ever dealt with device drivers in my life. On the other hand
multithreading and low level code are things I am familiar with. That's a
disclaimer for the faint at heart.
I am currently
running four copies of windump on a Dual P4 Xeon 1.7Mhz Dell Precision
Workstation running Windows 2000 SP3. I'm going to keep them running for
at least 24 hours. If they don't blue screen my machine by that time I'd
love to find a way to get more people to test this. Also, how would I get
these changes merged back into the main branch?
For reference the
source code I used was Winpcap 3.0 alpha 2. The only changes I made were
wrapping all accesses to global variables with spin locks.
-
Mike
