Re: which kind of driver to design for AoE protocol?



Hi Don

This depends, assuming you are planning to use the standard network stack,....

I am afraid you would not get away with the standard network stack
here. If you want to use the existing stack, you have to allocate IRPs
with TdiBuildInternalDeviceControlIrp(), and the above can be done only
at IRQL==PASSIVE_LEVEL, although your port routines may get called at
higher IRQL ( (in fact, you can pre-allocate few IRPs in advance, but
imagine what happens if you run out of your IRP pool and have to send a
request at IRQL>PASSIVE_LEVEL).

Therefore, you have to write a full-fledged NDIS protocol driver (or at
least implement quite advanced form of NDIS hooking), so that this task
is *DEFINITELY* not for someone without any kernel-mode experience
whatsoever

Anton Bassov


Don Burn wrote:
This depends, assuming you are planning to use the standard network stack,
you probably will need a virtual storport driver similar to iSCSI. The
problem here is this is brand new stuff that Microsoft is betaing for some
platforms, so there is little data available. Take a look at the
presentations from WinHEC this year on storage and try contacting the
various email addresses.

This is going to be a big project and something that will be extremely hard
for a newbie to do.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply




"Ebola_Influenza" <EbolaInfluenza@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
message news:744B4F21-41B3-4684-97D2-47B4DB2E9E9A@xxxxxxxxxxxxxxxx
Hello all,

I've been asked to look at designing a Windows driver for the AoE (ATA
over
Ethernet) protocol (coraid.com). I've been an applications developer for
eight years now, but never done a driver before.

After reading the MS doc "Getting Started with the Windows Driver
Development Environment", the first and most obvious question is "which
kind
of driver should I build?"

Any and all advice will be appreciated!

Best,
EI

.



Relevant Pages

  • Re: USB interrupt endpoint limitations
    ... We have our custom USB driver for it. ... I've tried to implement multiple pending IRPs in the driver but I'm not ... To implement the multiple pending IRPs on the interrupt endpoint I simply ...
    (microsoft.public.development.device.drivers)
  • Re: Miniport: DriverObject->DriverUnload should be Chained? or Rep
    ... Basically, your miniport is virtual, so that it does not have underlying ... hardware - the user-mode app plays the role of the hardware. ... your driver has registered with its port/class/library driver is its upper ... communicating with an app via IRPs (apparently, it has a pool of outstanding ...
    (microsoft.public.development.device.drivers)
  • Re: should I queue IRPs in a filter driver
    ... > I have a filter driver layered above the disk class driver. ... > driver filters all IRPs to a particular hard drive. ...
    (microsoft.public.development.device.drivers)
  • Re: when does a PDO become a PDO ?
    ... done for TDI filters I believe) hold all IRPs that come into your driver, ... there are literally hundreds of commercial filter drivers out there and I ... my driver needs to send an IRP to your stack once in a while. ...
    (microsoft.public.development.device.drivers)
  • Re: Miniport: DriverObject->DriverUnload should be Chained? or Rep
    ... once your driver is miniport one that is not supposed to ... hardware - the user-mode app plays the role of the hardware. ... communicating with an app via IRPs (apparently, it has a pool of outstanding ...
    (microsoft.public.development.device.drivers)

Loading