Commit e1d06d7a authored by Beniamino Galvani's avatar Beniamino Galvani

device/vlan: fix failed assertion in parent_hwaddr_changed()

Parent MAC can be NULL if the interface has gone, fix the following
failed assertion:

  [devices/nm-device-vlan.c:107] parent_hwaddr_changed(): (vlan1): parent hardware address changed
  nm_device_set_hw_addr: assertion 'addr != NULL' failed

While at it, improve logging by printing the new MAC address.

Fixes: e6d7fee5
parent 9dffc022
......@@ -88,7 +88,7 @@ parent_hwaddr_changed (NMDevice *parent,
NMDeviceVlan *self = NM_DEVICE_VLAN (user_data);
NMConnection *connection;
NMSettingWired *s_wired;
const char *cloned_mac = NULL;
const char *cloned_mac = NULL, *new_mac;
/* Never touch assumed devices */
if (nm_device_uses_assumed_connection (self))
......@@ -104,9 +104,13 @@ parent_hwaddr_changed (NMDevice *parent,
cloned_mac = nm_setting_wired_get_cloned_mac_address (s_wired);
if (!cloned_mac) {
_LOGD (LOGD_VLAN, "parent hardware address changed");
nm_device_set_hw_addr (self, nm_device_get_hw_address (parent),
"set", LOGD_VLAN);
new_mac = nm_device_get_hw_address (parent);
_LOGD (LOGD_VLAN, "parent hardware address changed to %s%s%s",
if (new_mac) {
nm_device_set_hw_addr (self, nm_device_get_hw_address (parent),
"set", LOGD_VLAN);
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment