Merge branch 'main' into next

Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
David Ahern 2020-12-16 04:06:06 +00:00
commit c01dec8475
5 changed files with 14 additions and 15 deletions

View File

@ -3617,19 +3617,21 @@ static int cmd_dev_flash(struct dl *dl)
err = _mnlg_socket_group_add(nlg_ntf, DEVLINK_GENL_MCGRP_CONFIG_NAME); err = _mnlg_socket_group_add(nlg_ntf, DEVLINK_GENL_MCGRP_CONFIG_NAME);
if (err) if (err)
return err; goto err_socket;
err = pipe(pipe_fds); err = pipe(pipe_fds);
if (err == -1) if (err == -1) {
return -errno; err = -errno;
goto err_socket;
}
pipe_r = pipe_fds[0]; pipe_r = pipe_fds[0];
pipe_w = pipe_fds[1]; pipe_w = pipe_fds[1];
pid = fork(); pid = fork();
if (pid == -1) { if (pid == -1) {
close(pipe_r);
close(pipe_w); close(pipe_w);
return -errno; err = -errno;
goto out;
} else if (!pid) { } else if (!pid) {
/* In child, just execute the flash and pass returned /* In child, just execute the flash and pass returned
* value through pipe once it is done. * value through pipe once it is done.
@ -3658,6 +3660,7 @@ static int cmd_dev_flash(struct dl *dl)
err = _mnlg_socket_recv_run(dl->nlg, NULL, NULL); err = _mnlg_socket_recv_run(dl->nlg, NULL, NULL);
out: out:
close(pipe_r); close(pipe_r);
err_socket:
mnlg_socket_close(nlg_ntf); mnlg_socket_close(nlg_ntf);
return err; return err;
} }

View File

@ -3977,8 +3977,8 @@ union bpf_attr {
FN(seq_printf_btf), \ FN(seq_printf_btf), \
FN(skb_cgroup_classid), \ FN(skb_cgroup_classid), \
FN(redirect_neigh), \ FN(redirect_neigh), \
FN(bpf_per_cpu_ptr), \ FN(per_cpu_ptr), \
FN(bpf_this_cpu_ptr), \ FN(this_cpu_ptr), \
FN(redirect_peer), \ FN(redirect_peer), \
FN(task_storage_get), \ FN(task_storage_get), \
FN(task_storage_delete), \ FN(task_storage_delete), \

View File

@ -1,11 +1,5 @@
.TH "Flower filter in tc" 8 "22 Oct 2015" "iproute2" "Linux" .TH "Flower filter in tc" 8 "22 Oct 2015" "iproute2" "Linux"
"Usage: ct clear\n"
" ct commit [force] [zone ZONE] [mark MASKED_MARK] [label MASKED_LABEL] [nat NAT_SPEC] [OFFLOAD_POLICY]\n"
" ct [nat] [zone ZONE] [OFFLOAD_POLICY]\n"
"Where: ZONE is the conntrack zone table number\n"
" NAT_SPEC is {src|dst} addr addr1[-addr2] [port port1[-port2]]\n"
" OFFLOAD_POLICY is [policy_pkts PACKETS] [policy_timeout TIMEOUT]\n"
.SH NAME .SH NAME
flower \- flow based traffic control filter flower \- flow based traffic control filter
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -3136,7 +3136,7 @@ static void mptcp_stats_print(struct mptcp_info *s)
out(" subflows:%d", s->mptcpi_subflows); out(" subflows:%d", s->mptcpi_subflows);
if (s->mptcpi_add_addr_signal) if (s->mptcpi_add_addr_signal)
out(" add_addr_signal:%d", s->mptcpi_add_addr_signal); out(" add_addr_signal:%d", s->mptcpi_add_addr_signal);
if (s->mptcpi_add_addr_signal) if (s->mptcpi_add_addr_accepted)
out(" add_addr_accepted:%d", s->mptcpi_add_addr_accepted); out(" add_addr_accepted:%d", s->mptcpi_add_addr_accepted);
if (s->mptcpi_subflows_max) if (s->mptcpi_subflows_max)
out(" subflows_max:%d", s->mptcpi_subflows_max); out(" subflows_max:%d", s->mptcpi_subflows_max);

View File

@ -819,8 +819,10 @@ static int print_pedit(struct action_util *au, FILE *f, struct rtattr *arg)
print_uint(PRINT_FP, NULL, "\n\t key #%d at ", i); print_uint(PRINT_FP, NULL, "\n\t key #%d at ", i);
err = print_pedit_location(f, htype, key->off); err = print_pedit_location(f, htype, key->off);
if (err) if (err) {
free(keys_ex);
return err; return err;
}
/* In FP, report the "set" command as "val" to keep /* In FP, report the "set" command as "val" to keep
* backward compatibility. Report the true name in JSON. * backward compatibility. Report the true name in JSON.