<< | Thread Index | >> ]    [ << | Date Index | >> ]

Subject: Re: cipe-win32-pre9 fix
From: Erik Wallin <erikw,AT,sec,DOT,se>
Date: Thu, 10 May 2001 20:12:57 +0200
In-reply-to: <31276.988416041@www32.gmx.net>

Damion Wilson wrote:

> Just thought of some more :-)
> Please don't start off with new versions of your own just yet. I'd like
> the chance to comment before we start getting forked versions of this
> thing floating around...

Of course. I'm not going to make my own distribution, don't worry. I'm just 
sure if I should send you this communication in private, or to the list. I
decided to share my ideas as much as possible so others can comment too.
Thought I'd save you some time if someone can else can flame me for the really
bad ideas, or correct me when I'm completely off the track.

> There aren't two threads at play in the driver. It doesn't work like that.


> In fact,
> the NDIS is just a layer and itself uses IRP's and handler routines just
> like those
> found in the TAP part of cipdrvr.c. However, the driver will operate in the
> context
> of whatever thread happens to be active at the time that Windows decided to
> call it.

Maybe I'm confusing threads and processes here. I just thought about the
possibility of the user mode process (the cipe service) reading a packet and a
packet arriving from another process at the same time. What happens then?

I think the reason I'm confused about threads is because I'm thinking of the
Tap device as a physical adapter. That would (possibly) be handled by a kernel
thread. Right? I'm not a kernel hacker, so I'm a bit lost here.


<< | Thread Index | >> ]    [ << | Date Index | >> ]