summaryrefslogtreecommitdiffstats
path: root/net/l3mdev
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2020-03-27 14:48:47 -0700
committerDavid S. Miller <davem@davemloft.net>2020-03-29 22:14:48 -0700
commit3f8e0aae1796363442f6d0b7bc2210a6eecffb2d (patch)
tree8cad4b480a2d2ec3951109f60fdd47349f479dc6 /net/l3mdev
parent7948f6cc9951f00aeb8edc51fafbb7450f61d62c (diff)
downloadlinux-3f8e0aae1796363442f6d0b7bc2210a6eecffb2d.tar.bz2
mptcp: rework mptcp_sendmsg_frag to accept optional dfrag
This will simplify mptcp-level retransmission implementation in the next patch. If dfrag is provided by the caller, skip kernel space memory allocation and use data and metadata provided by the dfrag itself. Because a peer could ack data at TCP level but refrain from sending mptcp-level ACKs, we could grow the mptcp socket backlog indefinitely. We should thus block mptcp_sendmsg until the peer has acked some of the sent data. In order to be able to do so, increment the mptcp socket wmem_queued counter on memory allocation and decrement it when releasing the memory on mptcp-level ack reception. Because TCP performns sndbuf auto-tuning up to tcp_wmem_max[2], make this the mptcp sk_sndbuf limit. In the future we could add experiment with autotuning as TCP does in tcp_sndbuf_expand(). v2 -> v3: - remove 'inline' in foo.c files (David S. Miller) Co-developed-by: Florian Westphal <fw@strlen.de> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/l3mdev')
0 files changed, 0 insertions, 0 deletions