aboutsummaryrefslogtreecommitdiff
path: root/net/mptcp/protocol.c
diff options
context:
space:
mode:
authorGravatar Geliang Tang <geliangtang@gmail.com> 2021-06-17 16:46:13 -0700
committerGravatar David S. Miller <davem@davemloft.net> 2021-06-18 11:40:11 -0700
commit0625118115cf2ee8e435bf86d1c1f0bfdee9d7c8 (patch)
tree86669b2e27fcb1a4f7ecc029d0fa7073685e1150 /net/mptcp/protocol.c
parentmptcp: add sk parameter for mptcp_get_options (diff)
downloadlinux-0625118115cf2ee8e435bf86d1c1f0bfdee9d7c8.tar.gz
linux-0625118115cf2ee8e435bf86d1c1f0bfdee9d7c8.tar.bz2
linux-0625118115cf2ee8e435bf86d1c1f0bfdee9d7c8.zip
mptcp: add csum_reqd in mptcp_options_received
This patch added a new flag csum_reqd in struct mptcp_options_received, if the flag MPTCP_CAP_CHECKSUM_REQD is set in the receiving MP_CAPABLE suboption, set this flag. In mptcp_sk_clone and subflow_finish_connect, if the csum_reqd flag is set, enable the msk->csum_enabled flag. Acked-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Geliang Tang <geliangtang@gmail.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/mptcp/protocol.c')
-rw-r--r--net/mptcp/protocol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index f0da067301f6..b6e5c0930533 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -2810,6 +2810,8 @@ struct sock *mptcp_sk_clone(const struct sock *sk,
msk->token = subflow_req->token;
msk->subflow = NULL;
WRITE_ONCE(msk->fully_established, false);
+ if (mp_opt->csum_reqd)
+ WRITE_ONCE(msk->csum_enabled, true);
msk->write_seq = subflow_req->idsn + 1;
msk->snd_nxt = msk->write_seq;