rdisc: don't log error message when failing to create NDP socket

Let the caller do that, he already logs an ERR level message. Just
combine the messages.
This commit is contained in:
Thomas Haller
2015-12-17 15:49:03 +01:00
parent b9a3b780c2
commit 444df2d30e
5 changed files with 30 additions and 11 deletions

View File

@@ -5584,6 +5584,7 @@ addrconf6_start (NMDevice *self, NMSettingIP6ConfigPrivacy use_tempaddr)
NMConnection *connection;
NMActStageReturn ret;
NMSettingIP6Config *s_ip6 = NULL;
GError *error = NULL;
connection = nm_device_get_applied_connection (self);
g_assert (connection);
@@ -5600,9 +5601,11 @@ addrconf6_start (NMDevice *self, NMSettingIP6ConfigPrivacy use_tempaddr)
priv->rdisc = nm_lndp_rdisc_new (nm_device_get_ip_ifindex (self),
nm_device_get_ip_iface (self),
nm_connection_get_uuid (connection),
nm_setting_ip6_config_get_addr_gen_mode (s_ip6));
nm_setting_ip6_config_get_addr_gen_mode (s_ip6),
&error);
if (!priv->rdisc) {
_LOGE (LOGD_IP6, "addrconf6: failed to start router discovery");
_LOGE (LOGD_IP6, "addrconf6: failed to start router discovery: %s", error->message);
g_error_free (error);
return FALSE;
}

View File

@@ -475,7 +475,7 @@ main (int argc, char *argv[])
if (global_opt.slaac) {
nm_platform_link_set_user_ipv6ll_enabled (NM_PLATFORM_GET, ifindex, TRUE);
rdisc = nm_lndp_rdisc_new (ifindex, global_opt.ifname, global_opt.uuid, global_opt.addr_gen_mode);
rdisc = nm_lndp_rdisc_new (ifindex, global_opt.ifname, global_opt.uuid, global_opt.addr_gen_mode, NULL);
g_assert (rdisc);
if (iid)

View File

@@ -297,11 +297,17 @@ ipv6_sysctl_get (const char *ifname, const char *property, gint32 defval)
}
NMRDisc *
nm_lndp_rdisc_new (int ifindex, const char *ifname, const char *uuid, NMSettingIP6ConfigAddrGenMode addr_gen_mode)
nm_lndp_rdisc_new (int ifindex,
const char *ifname,
const char *uuid,
NMSettingIP6ConfigAddrGenMode addr_gen_mode,
GError **error)
{
NMRDisc *rdisc;
NMLNDPRDiscPrivate *priv;
int error;
int errsv;
g_return_val_if_fail (!error || !*error, NULL);
rdisc = g_object_new (NM_TYPE_LNDP_RDISC, NULL);
@@ -318,9 +324,12 @@ nm_lndp_rdisc_new (int ifindex, const char *ifname, const char *uuid, NMSettingI
NM_RDISC_RTR_SOLICITATION_INTERVAL_DEFAULT);
priv = NM_LNDP_RDISC_GET_PRIVATE (rdisc);
error = ndp_open (&priv->ndp);
if (error != 0) {
_LOGD ("error creating socket for NDP; errno=%d", -error);
errsv = ndp_open (&priv->ndp);
if (errsv != 0) {
errsv = errsv > 0 ? errsv : -errsv;
g_set_error (error, NM_UTILS_ERROR, NM_UTILS_ERROR_UNKNOWN,
"failure creating libndp socket: %s (%d)",
g_strerror (errsv), errsv);
g_object_unref (rdisc);
return NULL;
}

View File

@@ -44,6 +44,10 @@ typedef struct {
GType nm_lndp_rdisc_get_type (void);
NMRDisc *nm_lndp_rdisc_new (int ifindex, const char *ifname, const char *uuid, NMSettingIP6ConfigAddrGenMode addr_gen_mode);
NMRDisc *nm_lndp_rdisc_new (int ifindex,
const char *ifname,
const char *uuid,
NMSettingIP6ConfigAddrGenMode addr_gen_mode,
GError **error);
#endif /* __NETWORKMANAGER_LNDP_RDISC_H__ */

View File

@@ -41,6 +41,7 @@ main (int argc, char **argv)
int ifindex = 1;
const char *ifname;
NMUtilsIPv6IfaceId iid = { };
GError *error = NULL;
nmtst_init_with_logging (&argc, &argv, NULL, "DEFAULT");
@@ -64,9 +65,11 @@ main (int argc, char **argv)
rdisc = nm_lndp_rdisc_new (ifindex,
ifname,
"8ce666e8-d34d-4fb1-b858-f15a7al28086",
NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64);
NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
&error);
if (!rdisc) {
g_print ("Failed to create NMRDisc instance\n");
g_print ("Failed to create NMRDisc instance: %s\n", error->message);
g_error_free (error);
return EXIT_FAILURE;
}