Device is not started in reload anymore if DCERouter disconnects it...
It goes like this :
-
Device (driver) is connected to DCE Router with two usual sockets.
-
for some reason DCE router disconnects (closes socket) to this device (it can happen for various reasons: device doesn't respond quickly enough to system commands...)
-
device stays in list of running devices /usr/pluto/locks/pluto_spawned_local_devices.txt and therefore it won't be restarted after DCE router reload (only reboot helps)...
I think that when DCE Router disconnects device, it should remove it from locks file so it can be restarted after DCE Router reload.
There is also a problem with really short timeout DCE Router waits for response of device - when you write device in scripting language, response is not so fast and those devices are frequently disconnected without any proper announcement or warning somewhere. Also DCERouter writes in this case quite obscure entries in its log - maybe one additional line of entry describing what happened will be enough.