diff options
author | Thomas Haller <thaller@redhat.com> | 2020-02-14 16:49:29 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2020-02-17 14:43:13 +0100 |
commit | b2e30b3c9a421a94f4e84fb01f2b6652d2c64604 (patch) | |
tree | ccc3f8e00b03f5490ae5eab146bf9b4809982708 | |
parent | de4aeb34e3d6b4e3b1d3f4f7673a497e3e179c6b (diff) | |
download | NetworkManager-b2e30b3c9a421a94f4e84fb01f2b6652d2c64604.tar.gz |
ndisc: improve logging message with nm_ndisc_start() and minor cleanup
-rw-r--r-- | src/ndisc/nm-ndisc.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/src/ndisc/nm-ndisc.c b/src/ndisc/nm-ndisc.c index d9a6d55a85..4a6922778f 100644 --- a/src/ndisc/nm-ndisc.c +++ b/src/ndisc/nm-ndisc.c @@ -906,34 +906,38 @@ void nm_ndisc_start (NMNDisc *ndisc) { nm_auto_pop_netns NMPNetns *netns = NULL; - NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE (ndisc); - NMNDiscClass *klass = NM_NDISC_GET_CLASS (ndisc); + NMNDiscPrivate *priv; gint64 ra_wait_secs; - g_return_if_fail (klass->start); - g_return_if_fail (!priv->ra_timeout_id); + g_return_if_fail (NM_IS_NDISC (ndisc)); + + priv = NM_NDISC_GET_PRIVATE (ndisc); + + nm_assert (NM_NDISC_GET_CLASS (ndisc)->start); + nm_assert (!priv->ra_timeout_id); - _LOGD ("starting neighbor discovery: %d", priv->ifindex); + _LOGD ("starting neighbor discovery for ifindex %d%s", + priv->ifindex, + priv->node_type == NM_NDISC_NODE_TYPE_HOST + ? " (solicit)" + : " (announce)"); if (!nm_ndisc_netns_push (ndisc, &netns)) return; - klass->start (ndisc); + NM_NDISC_GET_CLASS (ndisc)->start (ndisc); - switch (priv->node_type) { - case NM_NDISC_NODE_TYPE_HOST: + if (priv->node_type == NM_NDISC_NODE_TYPE_HOST) { ra_wait_secs = (((gint64) priv->router_solicitations) * priv->router_solicitation_interval) + 1; ra_wait_secs = MAX (ra_wait_secs, 30); priv->ra_timeout_id = g_timeout_add_seconds (ra_wait_secs, ndisc_ra_timeout_cb, ndisc); _LOGD ("scheduling RA timeout in %d seconds", (int) ra_wait_secs); solicit_routers (ndisc); - break; - case NM_NDISC_NODE_TYPE_ROUTER: - announce_router_initial (ndisc); - break; - default: - g_assert_not_reached (); + return; } + + nm_assert (priv->node_type == NM_NDISC_NODE_TYPE_ROUTER); + announce_router_initial (ndisc); } NMNDiscConfigMap @@ -1323,6 +1327,8 @@ set_property (GObject *object, guint prop_id, case PROP_NODE_TYPE: /* construct-only */ priv->node_type = g_value_get_int (value); + nm_assert (NM_IN_SET (priv->node_type, NM_NDISC_NODE_TYPE_HOST, + NM_NDISC_NODE_TYPE_ROUTER)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |