openSUSE/wicked — pull request #305 by kmroz (2014-07-07 15:16:40+00:00)
Title: dhcp4: fix link type comparison during device up events

Previously we invoked ni_capture_devinfo_refresh() directly which lead
to many:

ni_error("%s: reconfig changes device type! d%u l%u", devinfo->ifname, devinfo->iftype, link->type);

This was comparing an empty dhcp4 dev->link struct with one that was
populated during dhcp4 device creation (ie. dhcp4_device_create()->
ni_dhcp4_device_new()->ni_capture_devinfo_init()).

Now, on a device up event (ie. ni_dhcp4_event(..., event==NI_EVENT_DEVICE_UP),
we invoke the proper refresh function (also used during ni_dhcp4_acquire())
and compare properly initialized dev->system AND dev->link structs to
detect potential changes in device type from time of creation (represented
by dev->system) to time of configuration/re-configuration (represented
by dev->link).