NetworkManager/src/devices/team
Dan Williams 568a8d1da9 bridge/bond/team: device availability shouldn't depend on IFF_UP (bgo #746918)
The merge of lr/udev-unmanaged-fd731014 made all devices wait until
udev found them, but that makes these three device types fail activate
when created by NM itself.

Since their availability depended on IFF_UP, they could not be
activated (eg, 'nmcli con up team0') until they were IFF_UP.  But
when they are created by NM, although NM knows the ifindex the
platform ignores the interface until udev finds it.  Thus immediately
after creating the interface in _internal_activate_device() it
won't be known to the platform, so the nm_device_is_available()
check that controls whether the device moves to DISCONNECTED
will fail.  This prevents any activation and emits the message:

"Connection 'foo' is not available on the device %s at this time."

because the device is still in the UNAVAILABLE state.

danw asked why we care about IFF_UP for these devices, and I can't
remember why, and I don't think it makes sense to require now.

https://bugzilla.gnome.org/show_bug.cgi?id=746918
2015-04-02 15:10:43 -05:00
..
exports.ver core: move device factory type function into factory object 2014-09-11 12:47:23 -05:00
Makefile.am libnm: add NetworkManager.h, disallow including individual headers 2014-08-01 14:34:40 -04:00
nm-device-team.c bridge/bond/team: device availability shouldn't depend on IFF_UP (bgo #746918) 2015-04-02 15:10:43 -05:00
nm-device-team.h devices: drop device-type-specific error domains 2014-10-22 08:29:08 -04:00
nm-team-factory.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-team-factory.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00