diff options
author | Thomas Haller <thaller@redhat.com> | 2019-06-18 09:36:41 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-06-18 09:36:41 +0200 |
commit | 2bc3b77cca5150426d7dd6601697af0a6ff90549 (patch) | |
tree | 69be239bf1430cc13f29445fa9e47c47513968c7 | |
parent | bb352557c1d2fc2ad47b9716d796991d0cb756b1 (diff) | |
download | NetworkManager-2bc3b77cca5150426d7dd6601697af0a6ff90549.tar.gz |
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.
-rw-r--r-- | src/nm-connectivity.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c index 3ec2ffff6d..694733f6a5 100644 --- a/src/nm-connectivity.c +++ b/src/nm-connectivity.c @@ -869,6 +869,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); @@ -897,18 +898,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. |