pm.c (71b7dec27f340c4ab90ef39ae096d8bb2e1c851c) pm.c (ff5a0b421cb23bf6b2898939ffef5b683045d9d3)
1// SPDX-License-Identifier: GPL-2.0
2/* Multipath TCP
3 *
4 * Copyright (c) 2019, Intel Corporation.
5 */
6#define pr_fmt(fmt) "MPTCP: " fmt
7
8#include <linux/kernel.h>

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

315
316 /* keep track of rtx periods with no progress */
317 if (!subflow->stale_count) {
318 subflow->stale_rcv_tstamp = rcv_tstamp;
319 subflow->stale_count++;
320 } else if (subflow->stale_rcv_tstamp == rcv_tstamp) {
321 if (subflow->stale_count < U8_MAX)
322 subflow->stale_count++;
1// SPDX-License-Identifier: GPL-2.0
2/* Multipath TCP
3 *
4 * Copyright (c) 2019, Intel Corporation.
5 */
6#define pr_fmt(fmt) "MPTCP: " fmt
7
8#include <linux/kernel.h>

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

315
316 /* keep track of rtx periods with no progress */
317 if (!subflow->stale_count) {
318 subflow->stale_rcv_tstamp = rcv_tstamp;
319 subflow->stale_count++;
320 } else if (subflow->stale_rcv_tstamp == rcv_tstamp) {
321 if (subflow->stale_count < U8_MAX)
322 subflow->stale_count++;
323 mptcp_pm_nl_subflow_chk_stale(msk, ssk);
323 } else {
324 subflow->stale_count = 0;
324 } else {
325 subflow->stale_count = 0;
326 mptcp_subflow_set_active(subflow);
325 }
326}
327
328void mptcp_pm_data_init(struct mptcp_sock *msk)
329{
330 msk->pm.add_addr_signaled = 0;
331 msk->pm.add_addr_accepted = 0;
332 msk->pm.local_addr_used = 0;

--- 20 unchanged lines hidden ---
327 }
328}
329
330void mptcp_pm_data_init(struct mptcp_sock *msk)
331{
332 msk->pm.add_addr_signaled = 0;
333 msk->pm.add_addr_accepted = 0;
334 msk->pm.local_addr_used = 0;

--- 20 unchanged lines hidden ---