NDIS disable question....

Hi all,

Making significant progress on my driver package, but have a question,
mostly out of curiosity…

When I use device manager to ‘disable’ the adapter, I get the following
sequence:

venet: pause called
venet: restart called
venet: pause called
venet: restart called
venet: pause called
venet: halt called
venet: unload

The “pause”, “restart” etc relate directly to the miniport callbacks
configured during creation.

I’m curious about why the sequence of pausing, restarting, and then
finally halting? Seems to me that the sequence should be:

pause
halt
unload

Why the restarts?

Now, this is still a work in progress, and I have not fully integrated
all aspects of the callbacks yet, they are mostly skeletons at this
point.

Some additional info… I do not set the link state yet, so the
adapater is always in the unlink state (as far as NDIS is concerned) and
I do not async the restart status, the restart routine always returns
NDIS_STATUS_SUCCESS.

Is this expected behavior? Or am I missing something?

Thx
-PWM

Perhaps Light Weight Filters detaching from the stack during teardown?

Cheers,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter W. Morreale
Sent: Tuesday, January 12, 2010 5:37 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS disable question…

Hi all,

Making significant progress on my driver package, but have a question,
mostly out of curiosity…

When I use device manager to ‘disable’ the adapter, I get the following
sequence:

venet: pause called
venet: restart called
venet: pause called
venet: restart called
venet: pause called
venet: halt called
venet: unload

The “pause”, “restart” etc relate directly to the miniport callbacks
configured during creation.

I’m curious about why the sequence of pausing, restarting, and then
finally halting? Seems to me that the sequence should be:

pause
halt
unload

Why the restarts?

Now, this is still a work in progress, and I have not fully integrated
all aspects of the callbacks yet, they are mostly skeletons at this
point.

Some additional info… I do not set the link state yet, so the
adapater is always in the unlink state (as far as NDIS is concerned) and
I do not async the restart status, the restart routine always returns
NDIS_STATUS_SUCCESS.

Is this expected behavior? Or am I missing something?

Thx
-PWM


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Understand that there are several NDIS 6 filters in a stack between your
miniport and the top-level TCP/IP transport driver. These typically include:

{B5F4D659-7DAA-4565-8E41-BE220ED60542}
QoS Packet Scheduler

{EA24CD6C-D17A-4348-9190-09F0D5BE83DD}
NDIS Capture LightWeight Filter

{B70D6460-3635-4D42-B866-B8AB1A24454C}
WFP Lightweight Filter

There can be more.

The pause/restart most likely occur as these filters are systematically
removed from the filter stack.

Thomas F. Divine
http://www.pcausa.com


From: “Peter W. Morreale”
Sent: Tuesday, January 12, 2010 5:36 PM
To: “Windows System Software Devs Interest List”
Subject: [ntdev] NDIS disable question…

>
> Hi all,
>
> Making significant progress on my driver package, but have a question,
> mostly out of curiosity…
>
> When I use device manager to ‘disable’ the adapter, I get the following
> sequence:
>
> venet: pause called
> venet: restart called
> venet: pause called
> venet: restart called
> venet: pause called
> venet: halt called
> venet: unload
>
> The “pause”, “restart” etc relate directly to the miniport callbacks
> configured during creation.
>
> I’m curious about why the sequence of pausing, restarting, and then
> finally halting? Seems to me that the sequence should be:
>
> pause
> halt
> unload
>
> Why the restarts?
>
> Now, this is still a work in progress, and I have not fully integrated
> all aspects of the callbacks yet, they are mostly skeletons at this
> point.
>
> Some additional info… I do not set the link state yet, so the
> adapater is always in the unlink state (as far as NDIS is concerned) and
> I do not async the restart status, the restart routine always returns
> NDIS_STATUS_SUCCESS.
>
> Is this expected behavior? Or am I missing something?
>
> Thx
> -PWM
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer

On Tue, 2010-01-12 at 17:43 -0500, David R. Cattley wrote:

Perhaps Light Weight Filters detaching from the stack during teardown?

Perhaps. That would also explain the pause/restart sequence on startup
as well.

Thanks,
-PWM

Cheers,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter W. Morreale
Sent: Tuesday, January 12, 2010 5:37 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS disable question…

Hi all,

Making significant progress on my driver package, but have a question,
mostly out of curiosity…

When I use device manager to ‘disable’ the adapter, I get the following
sequence:

venet: pause called
venet: restart called
venet: pause called
venet: restart called
venet: pause called
venet: halt called
venet: unload

The “pause”, “restart” etc relate directly to the miniport callbacks
configured during creation.

I’m curious about why the sequence of pausing, restarting, and then
finally halting? Seems to me that the sequence should be:

pause
halt
unload

Why the restarts?

Now, this is still a work in progress, and I have not fully integrated
all aspects of the callbacks yet, they are mostly skeletons at this
point.

Some additional info… I do not set the link state yet, so the
adapater is always in the unlink state (as far as NDIS is concerned) and
I do not async the restart status, the restart routine always returns
NDIS_STATUS_SUCCESS.

Is this expected behavior? Or am I missing something?

Thx
-PWM


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

On Tue, 2010-01-12 at 17:49 -0500, Thomas F. Divine wrote:

Understand that there are several NDIS 6 filters in a stack between your
miniport and the top-level TCP/IP transport driver. These typically include:

{B5F4D659-7DAA-4565-8E41-BE220ED60542}
QoS Packet Scheduler

{EA24CD6C-D17A-4348-9190-09F0D5BE83DD}
NDIS Capture LightWeight Filter

{B70D6460-3635-4D42-B866-B8AB1A24454C}
WFP Lightweight Filter

There can be more.

The pause/restart most likely occur as these filters are systematically
removed from the filter stack.

Makes perfect sense. Thanks.

Best,
-PWM

Thomas F. Divine
http://www.pcausa.com


From: “Peter W. Morreale”
> Sent: Tuesday, January 12, 2010 5:36 PM
> To: “Windows System Software Devs Interest List”
> Subject: [ntdev] NDIS disable question…
>
> >
> > Hi all,
> >
> > Making significant progress on my driver package, but have a question,
> > mostly out of curiosity…
> >
> > When I use device manager to ‘disable’ the adapter, I get the following
> > sequence:
> >
> > venet: pause called
> > venet: restart called
> > venet: pause called
> > venet: restart called
> > venet: pause called
> > venet: halt called
> > venet: unload
> >
> > The “pause”, “restart” etc relate directly to the miniport callbacks
> > configured during creation.
> >
> > I’m curious about why the sequence of pausing, restarting, and then
> > finally halting? Seems to me that the sequence should be:
> >
> > pause
> > halt
> > unload
> >
> > Why the restarts?
> >
> > Now, this is still a work in progress, and I have not fully integrated
> > all aspects of the callbacks yet, they are mostly skeletons at this
> > point.
> >
> > Some additional info… I do not set the link state yet, so the
> > adapater is always in the unlink state (as far as NDIS is concerned) and
> > I do not async the restart status, the restart routine always returns
> > NDIS_STATUS_SUCCESS.
> >
> > Is this expected behavior? Or am I missing something?
> >
> > Thx
> > -PWM
> >
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > For our schedule of WDF, WDM, debugging and other seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of OSR Online at
> > http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer