NetworkManagerDispatcher dispatches dbus signals to more traditional if-up.d style scripts. Unfortunately it doesn't work when the device is removed. It needs to look up the real interface name e.g. eth0, by calling a method on the dbus device object but the object has already been deleted by the time NMDispatcher processes the signal.
I guess the simplest solution is for NMDispatcher to save the interface name on insertion, but that doesn't seem very elegant. In particular I don't think it would work well if it gets killed and restarted. I know nothing about DBUS - has anyone seen a convention dealing with the general problem here, where a dbus signal is sent to indicate the destruction of an object, but clients will need to request information? E.g. do HAL or its clients do anything like this? Example output from a plug-unplug cycle to illustrate this specific problem: [EMAIL PROTECTED]:~# NetworkManagerDispatcher --no-daemon ** Message: <info> Device /org/freedesktop/NetworkManager/Devices/eth0 (eth0) is now going up. ** Message: <info> Device /org/freedesktop/NetworkManager/Devices/eth0 (eth0) is now up. ** (process:5839): WARNING **: <WARN> nmd_get_device_name(): org.freedesktop.NetworkManager.DeviceNotFound raised: The requested network device does not exist. ** (process:5839): WARNING **: <WARN> nmd_get_device_name(): org.freedesktop.NetworkManager.DeviceNotFound raised: The requested network device does not exist. _______________________________________________ NetworkManager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
