diff options
author | Paolo Abeni <pabeni@redhat.com> | 2023-09-21 21:49:45 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-09-21 21:49:45 +0200 |
commit | e9cbc89067cce78211c8629c78e931c0fe64e29d (patch) | |
tree | 95662373d0a7b4adc589fec61e120586d476de71 /net/mptcp/protocol.h | |
parent | net: dsa: sja1105: make read-only const arrays static (diff) | |
parent | Merge tag 'net-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff) | |
download | linux-e9cbc89067cce78211c8629c78e931c0fe64e29d.tar.xz linux-e9cbc89067cce78211c8629c78e931c0fe64e29d.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.
No conflicts.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/mptcp/protocol.h')
-rw-r--r-- | net/mptcp/protocol.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 7254b3562575..ed61d6850cce 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -718,7 +718,29 @@ void mptcp_get_options(const struct sk_buff *skb, void mptcp_finish_connect(struct sock *sk); void __mptcp_set_connected(struct sock *sk); -void mptcp_reset_timeout(struct mptcp_sock *msk, unsigned long fail_tout); +void mptcp_reset_tout_timer(struct mptcp_sock *msk, unsigned long fail_tout); + +static inline void mptcp_stop_tout_timer(struct sock *sk) +{ + if (!inet_csk(sk)->icsk_mtup.probe_timestamp) + return; + + sk_stop_timer(sk, &sk->sk_timer); + inet_csk(sk)->icsk_mtup.probe_timestamp = 0; +} + +static inline void mptcp_set_close_tout(struct sock *sk, unsigned long tout) +{ + /* avoid 0 timestamp, as that means no close timeout */ + inet_csk(sk)->icsk_mtup.probe_timestamp = tout ? : 1; +} + +static inline void mptcp_start_tout_timer(struct sock *sk) +{ + mptcp_set_close_tout(sk, tcp_jiffies32); + mptcp_reset_tout_timer(mptcp_sk(sk), 0); +} + static inline bool mptcp_is_fully_established(struct sock *sk) { return inet_sk_state_load(sk) == TCP_ESTABLISHED && |