summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-06-18 09:36:41 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2019-06-20 11:26:42 +0200
commit36cdfe703fcbe28330c19eab3365d72a59a8c660 (patch)
tree40ab0f129a37e2da589ed372569ed21f8419e1c5
parent4f489ac4504db3cff5d2dee2b2dfff837e213798 (diff)
connectivity: make platform argument to nm_connectivity_check_start() optional
The platform is used to detect whether to skip the connectivity check right away. It should be an optional argument, so one could avoid this pre-check. (cherry picked from commit b626baa3136b9309b0dd1d1fad48677413103269) (cherry picked from commit a842280dbe43a3987f955ce4308d668069dd300b)
-rw-r--r--src/nm-connectivity.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c
index 1424c906aa..dd73d0692a 100644
--- a/src/nm-connectivity.c
+++ b/src/nm-connectivity.c
@@ -870,6 +870,7 @@ nm_connectivity_check_start (NMConnectivity *self,
g_return_val_if_fail (NM_IS_CONNECTIVITY (self), NULL);
g_return_val_if_fail (callback, NULL);
+ nm_assert (!platform || NM_IS_PLATFORM (platform));
priv = NM_CONNECTIVITY_GET_PRIVATE (self);
@@ -898,18 +899,20 @@ nm_connectivity_check_start (NMConnectivity *self,
cb_data->concheck.ch_ifindex = ifindex;
- state = check_platform_config (self,
- platform,
- ifindex,
- addr_family,
- &reason);
- nm_assert ((state == NM_CONNECTIVITY_UNKNOWN) == !reason);
- if (state != NM_CONNECTIVITY_UNKNOWN) {
- _LOG2D ("skip connectivity check due to %s", reason);
- cb_data->completed_state = state;
- cb_data->completed_reason = reason;
- cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
- return cb_data;
+ if (platform) {
+ state = check_platform_config (self,
+ platform,
+ ifindex,
+ addr_family,
+ &reason);
+ nm_assert ((state == NM_CONNECTIVITY_UNKNOWN) == !reason);
+ if (state != NM_CONNECTIVITY_UNKNOWN) {
+ _LOG2D ("skip connectivity check due to %s", reason);
+ cb_data->completed_state = state;
+ cb_data->completed_reason = reason;
+ cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
+ return cb_data;
+ }
}
/* note that we pick up support for systemd-resolved right away when we need it.