The driver will route all TCP traffic to a local listener application on a
known port.
Then the application will send this packet to a dummy destination, this way
the driver will identify the outgoing packet.
This will allow the driver to resend the packet with the known dummy
destination to the original destination.
For example:
1. first packet from IP:x1 and PORT1 to IP:x2 and PORT:x2
2. The driver will change the destination IP to x1 (the local address) and
the PORT to the known port. The driver will indicate this packet UP.
3.The next packet sent by the listener application to a dummy known address
4.The driver will identify the dummy address and will replace the
destination to the original one IP = x1 and PORT = x2, The driver will use
ndissend() to forward this packet
5. For incoming traffic the driver will do the same, meaniing change the
address as needed so the application will act as a router
This works perfectly with windows XP when running the driver with Vista
Ultimate it will crash randomly.
Any help will be appreciated,
Thanks,
Bumper.
You can load your symbols / source paths into WinDbg, open the crash dump
that is generated when you driver crashes and you should be able to see where
your driver crashes.
Andy