Merge branch 'master' into iproute2-next

Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
David Ahern 2018-10-13 19:31:37 -07:00
commit 0d30c1f8d4
3 changed files with 21 additions and 13 deletions

View File

@ -145,7 +145,7 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv,
NEXT_ARG();
check_duparg(&attrs, IFLA_VXLAN_TTL, "ttl", *argv);
if (strcmp(*argv, "inherit") == 0) {
addattr_l(n, 1024, IFLA_VXLAN_TTL_INHERIT, NULL, 0);
addattr(n, 1024, IFLA_VXLAN_TTL_INHERIT);
} else if (strcmp(*argv, "auto") == 0) {
addattr8(n, 1024, IFLA_VXLAN_TTL, ttl);
} else {
@ -527,12 +527,16 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
print_string(PRINT_FP, NULL, "tos %s ", "inherit");
}
if (tb[IFLA_VXLAN_TTL])
ttl = rta_getattr_u8(tb[IFLA_VXLAN_TTL]);
if (is_json_context() || ttl)
print_uint(PRINT_ANY, "ttl", "ttl %u ", ttl);
else
if (tb[IFLA_VXLAN_TTL_INHERIT] &&
rta_getattr_u8(tb[IFLA_VXLAN_TTL_INHERIT])) {
print_string(PRINT_FP, NULL, "ttl %s ", "inherit");
} else if (tb[IFLA_VXLAN_TTL]) {
ttl = rta_getattr_u8(tb[IFLA_VXLAN_TTL]);
if (is_json_context() || ttl)
print_uint(PRINT_ANY, "ttl", "ttl %u ", ttl);
else
print_string(PRINT_FP, NULL, "ttl %s ", "auto");
}
if (tb[IFLA_VXLAN_LABEL]) {
__u32 label = rta_getattr_u32(tb[IFLA_VXLAN_LABEL]);

View File

@ -802,6 +802,7 @@ static int __rtnl_talk_iov(struct rtnl_handle *rtnl, struct iovec *iov,
if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(h);
int error = err->error;
if (l < sizeof(struct nlmsgerr)) {
fprintf(stderr, "ERROR truncated\n");
@ -809,11 +810,11 @@ static int __rtnl_talk_iov(struct rtnl_handle *rtnl, struct iovec *iov,
return -1;
}
if (!err->error)
if (!error) {
/* check messages from kernel */
nl_dump_ext_ack(h, errfn);
else {
errno = -err->error;
} else {
errno = -error;
if (rtnl->proto != NETLINK_SOCK_DIAG &&
show_rtnl_err)
@ -825,7 +826,7 @@ static int __rtnl_talk_iov(struct rtnl_handle *rtnl, struct iovec *iov,
else
free(buf);
return err->error ? -i : 0;
return error ? -i : 0;
}
if (answer) {

View File

@ -69,9 +69,12 @@ static int fifo_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
qopt = RTA_DATA(opt);
if (strcmp(qu->id, "bfifo") == 0) {
SPRINT_BUF(b1);
fprintf(f, "limit %s", sprint_size(qopt->limit, b1));
} else
fprintf(f, "limit %up", qopt->limit);
print_uint(PRINT_JSON, "limit", NULL, qopt->limit);
print_string(PRINT_FP, NULL, "limit %s",
sprint_size(qopt->limit, b1));
} else {
print_uint(PRINT_ANY, "limit", "limit %up", qopt->limit);
}
return 0;
}