Kyle Jamieson: Click: linuxmodule ToDevice initialization

Eddie Kohler kohler at aciri.org
Thu Aug 16 11:18:10 EDT 2001


------- Forwarded Message

Date: Thu, 16 Aug 2001 01:02:47 -0400
From: Kyle Jamieson <jamieson at MIT.EDU>
Organization: MIT
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.16-22 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: kohler at aciri.org
Subject: Click: linuxmodule ToDevice initialization
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,

I'm having problems running the linux module version of ToDevice in
2.4.7; I was wondering if you could give me some advice.  I think the
kernel version may be an issue.

What happens is that before ToDevice::initialize ever gets called,
todev_static_initialize runs, calling register_netdevice_notifier,
passing it the address of device_notifier_hook.  Soon after that, linux
calls device_notifier_hook with NETDEV_UP.

It seems that ToDevice::initialize needs to run before that happens,
because initialize sets up an unknown mapping in to_device_map that gets
filled in when linux calls device_notifier_hook.

The effect of all this is that come shutdown time, linux sends a
NETDEV_DOWN to device_notifier_hook which doesn't result in a dev_put,
which causes linux to wait forever for the device to shutdown (in
net/dev/core.c), which causes click to wait forever:

click: Following threads still active, expect a
crash:                          
click:   router thread pid
99                                                

So, I'm not sure if I'm to blame for my router configuration perhaps, or
ToDevice is broken under 2.4.7.  It seems to be like what I described
above is happening in the reverse order that it's supposed to?

Thanks for any help you can give.

Kyle

------- End of Forwarded Message




More information about the click mailing list