summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-04-14 17:46:20 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2017-04-15 10:19:31 +0200
commit47d60a393c6f38dd5a3d6e5488f6f4b3ae947677 (patch)
treec5cb21e24ecf91defe39ce97791c8fbfc6d67d06
parent38e3dc46a04dcc3374cc2b4701b2345acb44f9d2 (diff)
downloadNetworkManager-bg/sriov-numvfs-rh1398934.tar.gz
device: re-apply sriov_numvfs after SIGHUPbg/sriov-numvfs-rh1398934
-rw-r--r--src/devices/nm-device.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index e235fd9709..af80f74e71 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -295,7 +295,7 @@ typedef struct _NMDevicePrivate {
guint link_disconnected_id;
guint carrier_defer_id;
guint carrier_wait_id;
- gulong ignore_carrier_id;
+ gulong config_changed_id;
guint32 mtu;
guint32 ip6_mtu;
guint32 mtu_initial;
@@ -2816,17 +2816,20 @@ device_init_sriov_num_vfs (NMDevice *self)
}
static void
-config_changed_update_ignore_carrier (NMConfig *config,
- NMConfigData *config_data,
- NMConfigChangeFlags changes,
- NMConfigData *old_data,
- NMDevice *self)
+config_changed (NMConfig *config,
+ NMConfigData *config_data,
+ NMConfigChangeFlags changes,
+ NMConfigData *old_data,
+ NMDevice *self)
{
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
if ( priv->state <= NM_DEVICE_STATE_DISCONNECTED
|| priv->state > NM_DEVICE_STATE_ACTIVATED)
priv->ignore_carrier = nm_config_data_get_ignore_carrier (config_data, self);
+
+ if (NM_FLAGS_HAS (changes, NM_CONFIG_CHANGE_VALUES))
+ device_init_sriov_num_vfs (self);
}
static void
@@ -2961,10 +2964,10 @@ realize_start_setup (NMDevice *self,
/* Note: initial hardware address must be read before calling get_ignore_carrier() */
config = nm_config_get ();
priv->ignore_carrier = nm_config_data_get_ignore_carrier (nm_config_get_data (config), self);
- if (!priv->ignore_carrier_id) {
- priv->ignore_carrier_id = g_signal_connect (config,
+ if (!priv->config_changed_id) {
+ priv->config_changed_id = g_signal_connect (config,
NM_CONFIG_SIGNAL_CONFIG_CHANGED,
- G_CALLBACK (config_changed_update_ignore_carrier),
+ G_CALLBACK (config_changed),
self);
}
@@ -3182,7 +3185,7 @@ nm_device_unrealize (NMDevice *self, gboolean remove_resources, GError **error)
priv->capabilities |= NM_DEVICE_GET_CLASS (self)->get_generic_capabilities (self);
_notify (self, PROP_CAPABILITIES);
- nm_clear_g_signal_handler (nm_config_get (), &priv->ignore_carrier_id);
+ nm_clear_g_signal_handler (nm_config_get (), &priv->config_changed_id);
priv->real = FALSE;
_notify (self, PROP_REAL);
@@ -13697,7 +13700,7 @@ dispose (GObject *object)
arp_cleanup (self);
- nm_clear_g_signal_handler (nm_config_get (), &priv->ignore_carrier_id);
+ nm_clear_g_signal_handler (nm_config_get (), &priv->config_changed_id);
dispatcher_cleanup (self);