io-net and shutdown 1/2

Hi,

I have a network driver based upon the pcnet ddk code.

In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.

I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.

Could anyone offer pointers as to why io-net is not calling them?

Cheers

Dave

I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <Dave.edwards@abicom-international.com> wrote:

Hi,

I have a network driver based upon the pcnet ddk code.

In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.

I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.

Could anyone offer pointers as to why io-net is not calling them?

Cheers

Dave

Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave


Sean Boudreau wrote:

I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).

-xtang

Dave Edwards <Dave.edwards@abicom-international.com> wrote:

Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave



Sean Boudreau wrote:
I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <xtang@qnx.com> wrote:

I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).

-xtang

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:
Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave



Sean Boudreau wrote:
I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

Guys,

After doing some tests today I have discovered that things are more
bizaar that I first thought.

I now have three machines running the driver(s). Two of these were built
from the 6.2 distribution cd and the 3rd is a Wafer SBC that I have
built myself.

The distribution machines work perfectly and call shutdown. The SBC does
not. When I shutdown, all I receive is an advertisment message from the
hardware driver.

Any suggestions?

Cheers

Dave


Sean Boudreau wrote:

Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <> xtang@qnx.com> > wrote:

I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).


-xtang


Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Hi Sean,


It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.


This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.


Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.


Cheers!


Dave



Sean Boudreau wrote:

I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:


Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

Don’t have any real ideas on this one, other than it seems to
lokk to io-net like your advert func is where your shutdown
func should be in your io_net_registrant_funcs_t. Why that
would happen…?

-seanb

Dave Edwards <Dave.edwards@abicom-international.com> wrote:

Guys,

After doing some tests today I have discovered that things are more
bizaar that I first thought.

I now have three machines running the driver(s). Two of these were built
from the 6.2 distribution cd and the 3rd is a Wafer SBC that I have
built myself.

The distribution machines work perfectly and call shutdown. The SBC does
not. When I shutdown, all I receive is an advertisment message from the
hardware driver.

Any suggestions?

Cheers

Dave



Sean Boudreau wrote:
Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <> xtang@qnx.com> > wrote:

I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).


-xtang


Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Hi Sean,


It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.


This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.


Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.


Cheers!


Dave



Sean Boudreau wrote:

I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:


Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

The Advertisment is probably a symptom of the problem. My network
structure has a hardware driver at the bottom with a protcol convertor
and a bridging module at the top. This then feeds a module that presents
itself as a virtual ethernet driver which then feeds the IP stack

I suspect that when one of the modules is unmounted, the others will
re-advertise the internal network layout.

BTW does anyone know anything about ddd and the 3rd Party CD? I’ve just
attempted to install DDD to help fix this problem and have discovered
that this now prevents the Eclipse IDE from running.

Frustrated…

Dave


Sean Boudreau wrote:

Don’t have any real ideas on this one, other than it seems to
lokk to io-net like your advert func is where your shutdown
func should be in your io_net_registrant_funcs_t. Why that
would happen…?

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Guys,


After doing some tests today I have discovered that things are more
bizaar that I first thought.


I now have three machines running the driver(s). Two of these were built
from the 6.2 distribution cd and the 3rd is a Wafer SBC that I have
built myself.


The distribution machines work perfectly and call shutdown. The SBC does
not. When I shutdown, all I receive is an advertisment message from the
hardware driver.


Any suggestions?


Cheers


Dave



Sean Boudreau wrote:

Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <> xtang@qnx.com> > wrote:


I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).


-xtang


Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:


Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave


Sean Boudreau wrote:


I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:



Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

Dave Edwards <Dave.edwards@abicom-international.com> wrote:

The Advertisment is probably a symptom of the problem. My network
structure has a hardware driver at the bottom with a protcol convertor
and a bridging module at the top. This then feeds a module that presents
itself as a virtual ethernet driver which then feeds the IP stack

Their advertise func should be called when something is mounted,
not umounted.

-seanb

I suspect that when one of the modules is unmounted, the others will
re-advertise the internal network layout.

BTW does anyone know anything about ddd and the 3rd Party CD? I’ve just
attempted to install DDD to help fix this problem and have discovered
that this now prevents the Eclipse IDE from running.

Frustrated…

Dave



Sean Boudreau wrote:
Don’t have any real ideas on this one, other than it seems to
lokk to io-net like your advert func is where your shutdown
func should be in your io_net_registrant_funcs_t. Why that
would happen…?

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

Guys,


After doing some tests today I have discovered that things are more
bizaar that I first thought.


I now have three machines running the driver(s). Two of these were built
from the 6.2 distribution cd and the 3rd is a Wafer SBC that I have
built myself.


The distribution machines work perfectly and call shutdown. The SBC does
not. When I shutdown, all I receive is an advertisment message from the
hardware driver.


Any suggestions?


Cheers


Dave



Sean Boudreau wrote:

Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <> xtang@qnx.com> > wrote:


I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).


-xtang


Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:


Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave


Sean Boudreau wrote:


I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:



Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave

Strange,

I’ll check that once I’ve got the IDE running again

Dave


Sean Boudreau wrote:

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:

The Advertisment is probably a symptom of the problem. My network
structure has a hardware driver at the bottom with a protcol convertor
and a bridging module at the top. This then feeds a module that presents
itself as a virtual ethernet driver which then feeds the IP stack



Their advertise func should be called when something is mounted,
not umounted.

-seanb


I suspect that when one of the modules is unmounted, the others will
re-advertise the internal network layout.


BTW does anyone know anything about ddd and the 3rd Party CD? I’ve just
attempted to install DDD to help fix this problem and have discovered
that this now prevents the Eclipse IDE from running.


Frustrated…


Dave



Sean Boudreau wrote:

Don’t have any real ideas on this one, other than it seems to
lokk to io-net like your advert func is where your shutdown
func should be in your io_net_registrant_funcs_t. Why that
would happen…?

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:


Guys,


After doing some tests today I have discovered that things are more
bizaar that I first thought.


I now have three machines running the driver(s). Two of these were built

from the 6.2 distribution cd and the 3rd is a Wafer SBC that I have

built myself.


The distribution machines work perfectly and call shutdown. The SBC does
not. When I shutdown, all I receive is an advertisment message from the
hardware driver.


Any suggestions?


Cheers


Dave



Sean Boudreau wrote:


Provided io_net_registrant_funcs_t->nfuncs is set correctly
and io_net_registrant_funcs_t->shutdown[12] are non NULL,
shutdown1 is always called. Shutdown2 is not called until all
outstanding packets have been released, the exception is
if all of io-net is going away (SIGTERM) in which case shutdown2
is always called immediately (nothing is staying around to potentially
leak memory).

-seanb

Xiaodan Tang <> xtang@qnx.com> > wrote:



I believe if you have a packet hold one you, io-net won’t let you go
(not untile you release the packet).


-xtang


Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:



Hi Sean,

It turns out that under certain circumstances io-net will call shutdown
1 & shutdown 2.

This leads me to believe that something I’m doing in the driver is
preventing io-net from calling these functions.

Is it possible that you could explain the sequence of events that
initiates these calls. Particularly if there are converter modules
present and multiple threads/mutexes running in the driver.

Cheers!

Dave

Sean Boudreau wrote:



I don’t recall anything changing in this regard.

  • Make sure you are terminating io-net with a SIGTERM.
  • Make sure io_net_registrant_funcs_t->nfuncs is set
    correctly.
  • Make sure io_net_registrant_funcs_t->shutdown[12] are
    not NULL.

-seanb

Dave Edwards <> Dave.edwards@abicom-international.com> > wrote:




Hi,


I have a network driver based upon the pcnet ddk code.


In version 6.1 io-net called shutdown 1 & shutdown 2 when the driver or
io-net terminated.


I’ve just rebuild the driver for 6.2 and now find that shutdown 1/2 is
not being called.


Could anyone offer pointers as to why io-net is not calling them?


Cheers


Dave