platform: merge do_change_link_request() into do_change_link()

There is only one caller left.
This commit is contained in:
Thomas Haller
2017-10-23 13:26:14 +02:00
parent a37532a694
commit b27a10bde8

View File

@@ -4426,25 +4426,38 @@ do_delete_object (NMPlatform *platform, const NMPObject *obj_id, struct nl_msg *
return success; return success;
} }
static WaitForNlResponseResult static NMPlatformError
do_change_link_request (NMPlatform *platform, do_change_link (NMPlatform *platform,
int ifindex, ChangeLinkType change_link_type,
struct nl_msg *nlmsg) int ifindex,
struct nl_msg *nlmsg,
const ChangeLinkData *data)
{ {
nm_auto_pop_netns NMPNetns *netns = NULL; nm_auto_pop_netns NMPNetns *netns = NULL;
WaitForNlResponseResult seq_result = WAIT_FOR_NL_RESPONSE_RESULT_UNKNOWN;
int nle; int nle;
WaitForNlResponseResult seq_result = WAIT_FOR_NL_RESPONSE_RESULT_UNKNOWN;
char s_buf[256];
NMPlatformError result = NM_PLATFORM_ERROR_SUCCESS;
NMLogLevel log_level = LOGL_DEBUG;
const char *log_result = "failure";
const char *log_detail = "";
gs_free char *log_detail_free = NULL;
const NMPObject *obj_cache;
if (!nm_platform_netns_push (platform, &netns)) if (!nm_platform_netns_push (platform, &netns)) {
return WAIT_FOR_NL_RESPONSE_RESULT_UNKNOWN; log_level = LOGL_ERR;
log_detail = ", failure to change network namespace";
goto out;
}
retry: retry:
nle = _nl_send_nlmsg (platform, nlmsg, &seq_result, DELAYED_ACTION_RESPONSE_TYPE_VOID, NULL); nle = _nl_send_nlmsg (platform, nlmsg, &seq_result, DELAYED_ACTION_RESPONSE_TYPE_VOID, NULL);
if (nle < 0) { if (nle < 0) {
_LOGE ("do-change-link[%d]: failure sending netlink request \"%s\" (%d)", log_level = LOGL_ERR;
ifindex, log_detail_free = g_strdup_printf (", failure sending netlink request: %s (%d)",
nl_geterror (nle), -nle); nl_geterror (nle), -nle);
return WAIT_FOR_NL_RESPONSE_RESULT_UNKNOWN; log_detail = log_detail_free;
goto out;
} }
/* always refetch the link after changing it. There seems to be issues /* always refetch the link after changing it. There seems to be issues
@@ -4460,24 +4473,6 @@ retry:
nlmsg_hdr (nlmsg)->nlmsg_type = RTM_SETLINK; nlmsg_hdr (nlmsg)->nlmsg_type = RTM_SETLINK;
goto retry; goto retry;
} }
return seq_result;
}
static NMPlatformError
do_change_link (NMPlatform *platform,
ChangeLinkType change_link_type,
int ifindex,
struct nl_msg *nlmsg,
const ChangeLinkData *data)
{
WaitForNlResponseResult seq_result;
char s_buf[256];
NMPlatformError result = NM_PLATFORM_ERROR_SUCCESS;
NMLogLevel log_level = LOGL_DEBUG;
const char *log_result = "failure", *log_detail = "";
const NMPObject *obj_cache;
seq_result = do_change_link_request (platform, ifindex, nlmsg);
if (seq_result == WAIT_FOR_NL_RESPONSE_RESULT_RESPONSE_OK) { if (seq_result == WAIT_FOR_NL_RESPONSE_RESULT_RESPONSE_OK) {
log_result = "success"; log_result = "success";
@@ -4507,13 +4502,14 @@ do_change_link (NMPlatform *platform,
log_level = LOGL_WARN; log_level = LOGL_WARN;
result = NM_PLATFORM_ERROR_UNSPECIFIED; result = NM_PLATFORM_ERROR_UNSPECIFIED;
} }
out:
_NMLOG (log_level, _NMLOG (log_level,
"do-change-link[%d]: %s changing link: %s%s", "do-change-link[%d]: %s changing link: %s%s",
ifindex, ifindex,
log_result, log_result,
wait_for_nl_response_to_string (seq_result, s_buf, sizeof (s_buf)), wait_for_nl_response_to_string (seq_result, s_buf, sizeof (s_buf)),
log_detail); log_detail);
return result; return result;
} }