diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/devices/ovs/nm-device-ovs-interface.c | 6 | ||||
| -rw-r--r-- | src/core/nm-l3-config-data.c | 4 | ||||
| -rw-r--r-- | src/core/nm-l3cfg.c | 4 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nm-cloud-setup.service.in | 8 | ||||
| -rw-r--r-- | src/nmtui/nmt-edit-connection-list.c | 17 |
5 files changed, 26 insertions, 13 deletions
diff --git a/src/core/devices/ovs/nm-device-ovs-interface.c b/src/core/devices/ovs/nm-device-ovs-interface.c index ac136be2..8aeb8718 100644 --- a/src/core/devices/ovs/nm-device-ovs-interface.c +++ b/src/core/devices/ovs/nm-device-ovs-interface.c @@ -438,7 +438,7 @@ act_stage3_ip_config(NMDevice *device, int addr_family) if (check_waiting_for_link(device, addr_family == AF_INET ? "stage3-ipv4" : "stage3-ipv6")) { nm_device_devip_set_state(device, addr_family, NM_DEVICE_IP_STATE_PENDING, NULL); if (nm_device_get_ip_ifindex(device) <= 0 && priv->wait_link.tun_link_signal_id == 0 - && ovs_interface_is_netdev_datapath(self)) { + && priv->wait_link.tun_ifindex <= 0 && ovs_interface_is_netdev_datapath(self)) { priv->wait_link.tun_link_signal_id = g_signal_connect(nm_device_get_platform(device), NM_PLATFORM_SIGNAL_LINK_CHANGED, G_CALLBACK(_netdev_tun_link_cb), @@ -483,6 +483,7 @@ deactivate(NMDevice *device) NMDeviceOvsInterface *self = NM_DEVICE_OVS_INTERFACE(device); NMDeviceOvsInterfacePrivate *priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self); + priv->wait_link.tun_ifindex = -1; priv->wait_link.waiting = FALSE; priv->wait_link.cloned_mac_evaluated = FALSE; nm_clear_g_free(&priv->wait_link.cloned_mac); @@ -581,6 +582,7 @@ deactivate_async(NMDevice *device, nm_clear_g_signal_handler(nm_device_get_platform(device), &priv->wait_link.tun_link_signal_id); nm_clear_g_source_inst(&priv->wait_link.tun_set_ifindex_idle_source); + priv->wait_link.tun_ifindex = -1; priv->wait_link.cloned_mac_evaluated = FALSE; nm_clear_g_free(&priv->wait_link.cloned_mac); @@ -668,6 +670,8 @@ nm_device_ovs_interface_init(NMDeviceOvsInterface *self) if (!nm_ovsdb_is_ready(priv->ovsdb)) g_signal_connect(priv->ovsdb, NM_OVSDB_READY, G_CALLBACK(ovsdb_ready), self); + + priv->wait_link.tun_ifindex = -1; } static void diff --git a/src/core/nm-l3-config-data.c b/src/core/nm-l3-config-data.c index 03c66ce0..6d98e46d 100644 --- a/src/core/nm-l3-config-data.c +++ b/src/core/nm-l3-config-data.c @@ -3470,8 +3470,8 @@ nm_l3_config_data_merge(NML3ConfigData *self, g_steal_pointer(&self->dhcp_lease_x[1]); self->source = src->source; - self->dhcp_lease_x[0] = nm_dhcp_lease_ref(self->dhcp_lease_x[0]); - self->dhcp_lease_x[1] = nm_dhcp_lease_ref(self->dhcp_lease_x[1]); + self->dhcp_lease_x[0] = nm_dhcp_lease_ref(src->dhcp_lease_x[0]); + self->dhcp_lease_x[1] = nm_dhcp_lease_ref(src->dhcp_lease_x[1]); } if (!src->allow_routes_without_address_4) self->allow_routes_without_address_4 = FALSE; diff --git a/src/core/nm-l3cfg.c b/src/core/nm-l3cfg.c index 57baeac2..2c977991 100644 --- a/src/core/nm-l3cfg.c +++ b/src/core/nm-l3cfg.c @@ -2752,7 +2752,9 @@ handle_init: goto handle_start_defending; } - log_reason = "retry probing on timeout"; + acd_data->probing_timestamp_msec = (*p_now_msec); + acd_data->probing_timeout_msec = acd_timeout_msec; + log_reason = "retry probing on timeout"; goto handle_start_probing; } diff --git a/src/nm-cloud-setup/nm-cloud-setup.service.in b/src/nm-cloud-setup/nm-cloud-setup.service.in index ecb70e1c..cb782b22 100644 --- a/src/nm-cloud-setup/nm-cloud-setup.service.in +++ b/src/nm-cloud-setup/nm-cloud-setup.service.in @@ -4,10 +4,6 @@ Documentation=man:nm-cloud-setup(8) Before=network-online.target After=NetworkManager.service -[Service] -Type=oneshot -ExecStart=@libexecdir@/nm-cloud-setup - # The service restart gets triggered from dispatcher script # (pre-up and dhcp4-change actions), possibly ending up with many # restart requests at the same time (e.g. on initial daemon startup @@ -19,6 +15,10 @@ ExecStart=@libexecdir@/nm-cloud-setup StartLimitIntervalSec=1 StartLimitBurst=100 +[Service] +Type=oneshot +ExecStart=@libexecdir@/nm-cloud-setup + #Environment=NM_CLOUD_SETUP_LOG=TRACE # Cloud providers are disabled by default. You need to diff --git a/src/nmtui/nmt-edit-connection-list.c b/src/nmtui/nmt-edit-connection-list.c index f8d8303b..1ea44007 100644 --- a/src/nmtui/nmt-edit-connection-list.c +++ b/src/nmtui/nmt-edit-connection-list.c @@ -154,7 +154,7 @@ nmt_edit_connection_list_rebuild(NmtEditConnectionList *list) NmtEditConnectionListPrivate *priv = NMT_EDIT_CONNECTION_LIST_GET_PRIVATE(list); const GPtrArray *connections; GSList *iter; - gboolean did_header = FALSE, did_vpn = FALSE; + gboolean did_header = FALSE, did_vpn = FALSE, did_any = FALSE; NMEditorConnectionTypeData **types; NMConnection *conn, *selected_conn; int i, row, selected_row; @@ -181,9 +181,6 @@ nmt_edit_connection_list_rebuild(NmtEditConnectionList *list) g_object_notify(G_OBJECT(list), "connections"); g_object_notify(G_OBJECT(list), "num-connections"); - nmt_newt_component_set_sensitive(NMT_NEWT_COMPONENT(priv->edit), priv->connections != NULL); - nmt_newt_component_set_sensitive(NMT_NEWT_COMPONENT(priv->delete), priv->connections != NULL); - nmt_newt_listbox_clear(priv->listbox); if (!priv->grouped) { @@ -198,7 +195,9 @@ nmt_edit_connection_list_rebuild(NmtEditConnectionList *list) selected_row = row - 1; nmt_newt_listbox_set_active(priv->listbox, selected_row); - return; + did_any = !!priv->connections; + + goto done; } types = nm_editor_utils_get_connection_type_list(); @@ -230,6 +229,10 @@ nmt_edit_connection_list_rebuild(NmtEditConnectionList *list) did_header = TRUE; } + if (!did_any) { + did_any = TRUE; + } + indented = g_strdup_printf(" %s", nm_connection_get_id(conn)); nmt_newt_listbox_append(priv->listbox, indented, conn); g_free(indented); @@ -243,6 +246,10 @@ nmt_edit_connection_list_rebuild(NmtEditConnectionList *list) if (selected_row >= row) selected_row = row - 1; nmt_newt_listbox_set_active(priv->listbox, selected_row); + +done: + nmt_newt_component_set_sensitive(NMT_NEWT_COMPONENT(priv->edit), did_any); + nmt_newt_component_set_sensitive(NMT_NEWT_COMPONENT(priv->delete), did_any); } static void |