On Tue, Oct 01, 2013 at 02:02:08PM +0200, Sven Eckelmann wrote:
Hi,
a device running alfred maybe has to remove the underlying device (e.g. wlan device has to be reconfigured). This currently makes it necessary to restart alfred to get the device sending data again. An unwanted side effect of this procedure is the removal of all data currently stored in alfred.
Instead alfred should detect such problems and try to recover by reopening the device after sleeping a while. The sleeping is automatically done by select.
I've tested the changes only using macvtap:
Terminal 1:
$ ip link del dev macvlan0 $ ip link add link eth0 name macvlan0 type macvlan $ ip link set macvlan0 address 1a:46:0b:ca:bc:7b up $ ./alfred -b none -i macvlan0
Terminal 2 (after letting alfred run for a while)
$ ip link del dev macvlan0 $ ip link add link eth0 name macvlan0 type macvlan $ ip link set macvlan0 address 1a:46:0b:ca:bc:7b up
Kind regards, Sven
Thanks, applied the whole series (785bc8b, 87c1916, 02997b2, 1b79312, 65d26ca, d6de864).
Your testsetup did not work for me (no IPv6 addresses where assigned to these macvlan0 interfaces), but I've tried on my WiFi network in alfred master mode and could confirm that alfred continues to send announcements after tearing down the WiFi and setting it up again.
Thanks, Simon