NetworkManager/shared/n-acd/src
Beniamino Galvani d082af6b5c n-acd: better handle interfaces going temporarily down
NM sometimes brings an interface temporarily down (for example to
change a VLAN MAC to align it to the parent interface's one). When
this happens, any recv() or send() in n-acd fails, the n-acd instance
is reset to the initial state and a DOWN event is reported to the
manager, which currently does not handle it. The result is an
inconsistent state.

There is no simple way of dealing with the DOWN event in the
manager. What we can do instead is to:

 - ignore errors during recv() because there is really nothing we can
   do, except for waiting timeouts to expire;

 - during probe, ignore errors during send() so that we don't exceed
   the probe timeout;

 - during announcement, retry after a send() error to ensure we send
   all 3 announcements.

https://bugzilla.redhat.com/show_bug.cgi?id=1578675
2018-05-29 11:18:30 +02:00
..
libnacd.sym Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
meson.build Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
n-acd.c n-acd: better handle interfaces going temporarily down 2018-05-29 11:18:30 +02:00
n-acd.h n-acd: use RFC 5227 timeout for announcements 2018-05-29 11:18:30 +02:00
test-api.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test-basic.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test-loopback.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test-twice.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test-unplug.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test-unused.c Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00
test.h Merge commit '23cbce4bc9c70fc33d3413fc1b9a5f3303498036' as 'shared/n-acd' 2018-04-18 15:21:26 +02:00