device: Don't process link events anymore in device user specific callback handlers
authorHans Dedecker <dedeckeh@gmail.com>
Mon, 2 Nov 2015 10:16:12 +0000 (11:16 +0100)
committerSteven Barth <steven@midlink.org>
Wed, 4 Nov 2015 00:12:25 +0000 (01:12 +0100)
commit4902ba2999dec02e82066d70ab6096b852a33007
tree04ceb89fb4497849162a056664379fd3d75f2971
parentfa64fe118945127007fc6f6f558d0630258790bd
device: Don't process link events anymore in device user specific callback handlers

Set link_state for all device types via the device_set_link API as all devices are registered
in the device tree list making it possible to always get the device via device_get.
The decice link state parameter will now actually reflect the corresponding kernel device
carrier state in all cases.
Before this change a vlan/macvlan device could still have link_state enabled if an interface
was brought down; this was the case when the parent vlan/macvlan device was still enabled as
the netlink link_state event would be dropped for vlan/macvlan devices due to keep_link_state
in the function cb_rtnl_event.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
device.h
macvlan.c
system-linux.c
vlan.c
vlandev.c