options.c (ffb1e76f4f32d2b8ea4189df0484980370476395) options.c (0d199e4363b482badcedba764e2aceab53a4a10a)
1// SPDX-License-Identifier: GPL-2.0
2/* Multipath TCP
3 *
4 * Copyright (c) 2017 - 2019, Intel Corporation.
5 */
6
7#define pr_fmt(fmt) "MPTCP: " fmt
8

--- 1005 unchanged lines hidden (view full) ---

1014
1015 /* avoid ack expansion on update conflict, to reduce the risk of
1016 * wrongly expanding to a future ack sequence number, which is way
1017 * more dangerous than missing an ack
1018 */
1019 old_snd_una = msk->snd_una;
1020 new_snd_una = mptcp_expand_seq(old_snd_una, mp_opt->data_ack, mp_opt->ack64);
1021
1// SPDX-License-Identifier: GPL-2.0
2/* Multipath TCP
3 *
4 * Copyright (c) 2017 - 2019, Intel Corporation.
5 */
6
7#define pr_fmt(fmt) "MPTCP: " fmt
8

--- 1005 unchanged lines hidden (view full) ---

1014
1015 /* avoid ack expansion on update conflict, to reduce the risk of
1016 * wrongly expanding to a future ack sequence number, which is way
1017 * more dangerous than missing an ack
1018 */
1019 old_snd_una = msk->snd_una;
1020 new_snd_una = mptcp_expand_seq(old_snd_una, mp_opt->data_ack, mp_opt->ack64);
1021
1022 /* ACK for data not even sent yet and even above recovery bound? Ignore.*/
1023 if (unlikely(after64(new_snd_una, snd_nxt))) {
1024 if (!msk->recovery || after64(new_snd_una, msk->recovery_snd_nxt))
1025 new_snd_una = old_snd_una;
1026 }
1022 /* ACK for data not even sent yet? Ignore.*/
1023 if (unlikely(after64(new_snd_una, snd_nxt)))
1024 new_snd_una = old_snd_una;
1027
1028 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd;
1029
1030 if (after64(new_wnd_end, msk->wnd_end))
1031 msk->wnd_end = new_wnd_end;
1032
1033 /* this assumes mptcp_incoming_options() is invoked after tcp_ack() */
1034 if (after64(msk->wnd_end, READ_ONCE(msk->snd_nxt)))

--- 480 unchanged lines hidden ---
1025
1026 new_wnd_end = new_snd_una + tcp_sk(ssk)->snd_wnd;
1027
1028 if (after64(new_wnd_end, msk->wnd_end))
1029 msk->wnd_end = new_wnd_end;
1030
1031 /* this assumes mptcp_incoming_options() is invoked after tcp_ack() */
1032 if (after64(msk->wnd_end, READ_ONCE(msk->snd_nxt)))

--- 480 unchanged lines hidden ---