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