mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-21 10:14:41 +00:00
platform: log extack warning messages for netlink requests
The extack can also be returned on success. In that case, they are warnings. Log them, it might be useful.
This commit is contained in:
parent
6ca537fa6a
commit
1d69b41db9
|
@ -10176,9 +10176,16 @@ continue_reading:
|
|||
int errsv;
|
||||
|
||||
errsv = nlmsg_parse_error(msg.nm_nlh, &extack_msg);
|
||||
if (errsv == 0)
|
||||
if (errsv == 0) {
|
||||
seq_result = WAIT_FOR_NL_RESPONSE_RESULT_RESPONSE_OK;
|
||||
else {
|
||||
if (extack_msg) {
|
||||
_LOGD("%s: recvmsg: warning message from kernel: %s%s%s for request %d",
|
||||
log_prefix,
|
||||
NM_PRINT_FMT_QUOTE_STRING(extack_msg),
|
||||
msg.nm_nlh->nlmsg_seq);
|
||||
extack_msg = NULL;
|
||||
}
|
||||
} else {
|
||||
_LOGD("%s: recvmsg: error message from kernel: %s (%d)%s%s%s for request %d",
|
||||
log_prefix,
|
||||
nm_strerror(errsv),
|
||||
|
@ -10636,9 +10643,10 @@ mptcp_addr_update(NMPlatform *platform, NMOptionBool add, const NMPlatformMptcpA
|
|||
return nle;
|
||||
}
|
||||
|
||||
_LOGT("mptcp: %s address %s: success",
|
||||
_LOGT("mptcp: %s address %s: success%s%s%s",
|
||||
cmd_str,
|
||||
nm_platform_mptcp_addr_to_string(addr, sbuf, sizeof(sbuf)));
|
||||
nm_platform_mptcp_addr_to_string(addr, sbuf, sizeof(sbuf)),
|
||||
NM_PRINT_FMT_QUOTED(extack_msg[0] != '\0', " Warning: \"", extack_msg, "\"", ""));
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -313,9 +313,6 @@ nlmsg_parse_error(const struct nlmsghdr *nlh, const char **out_extack_msg)
|
|||
|
||||
e = nlmsg_data(nlh);
|
||||
|
||||
if (!e->error)
|
||||
return 0;
|
||||
|
||||
if (NM_FLAGS_HAS(nlh->nlmsg_flags, NLM_F_ACK_TLVS) && out_extack_msg
|
||||
&& nlh->nlmsg_len >= sizeof(*e) + e->msg.nlmsg_len) {
|
||||
static const struct nla_policy policy[] = {
|
||||
|
@ -328,11 +325,19 @@ nlmsg_parse_error(const struct nlmsghdr *nlh, const char **out_extack_msg)
|
|||
tlvs = NM_CAST_ALIGN(struct nlattr,
|
||||
(((char *) e) + sizeof(*e) + e->msg.nlmsg_len - NLMSG_HDRLEN));
|
||||
if (nla_parse_arr(tb, tlvs, nlh->nlmsg_len - sizeof(*e) - e->msg.nlmsg_len, policy) >= 0) {
|
||||
if (tb[NLMSGERR_ATTR_MSG])
|
||||
*out_extack_msg = nla_get_string(tb[NLMSGERR_ATTR_MSG]);
|
||||
if (tb[NLMSGERR_ATTR_MSG]) {
|
||||
const char *s;
|
||||
|
||||
s = nla_get_string(tb[NLMSGERR_ATTR_MSG]);
|
||||
if (s[0] != '\0')
|
||||
*out_extack_msg = s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!e->error)
|
||||
return 0;
|
||||
|
||||
return -nm_errno_from_native(e->error);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue