protocol.h (c83a47e50d8fd3825a4758158e9edd5acdc74185) protocol.h (9466a1ccebbe54ac57fb8a89c2b4b854826546a8)
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Multipath TCP
3 *
4 * Copyright (c) 2017 - 2019, Intel Corporation.
5 */
6
7#ifndef __MPTCP_PROTOCOL_H
8#define __MPTCP_PROTOCOL_H

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

501 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
502 struct sock *parent = subflow->conn;
503
504 return sk->sk_state == TCP_ESTABLISHED &&
505 !mptcp_sk(parent)->pm.server_side &&
506 !subflow->conn_finished;
507}
508
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Multipath TCP
3 *
4 * Copyright (c) 2017 - 2019, Intel Corporation.
5 */
6
7#ifndef __MPTCP_PROTOCOL_H
8#define __MPTCP_PROTOCOL_H

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

501 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
502 struct sock *parent = subflow->conn;
503
504 return sk->sk_state == TCP_ESTABLISHED &&
505 !mptcp_sk(parent)->pm.server_side &&
506 !subflow->conn_finished;
507}
508
509#ifdef CONFIG_SYN_COOKIES
510void subflow_init_req_cookie_join_save(const struct mptcp_subflow_request_sock *subflow_req,
511 struct sk_buff *skb);
512bool mptcp_token_join_cookie_init_state(struct mptcp_subflow_request_sock *subflow_req,
513 struct sk_buff *skb);
514void __init mptcp_join_cookie_init(void);
515#else
516static inline void
517subflow_init_req_cookie_join_save(const struct mptcp_subflow_request_sock *subflow_req,
518 struct sk_buff *skb) {}
519static inline bool
520mptcp_token_join_cookie_init_state(struct mptcp_subflow_request_sock *subflow_req,
521 struct sk_buff *skb)
522{
523 return false;
524}
525
526static inline void mptcp_join_cookie_init(void) {}
527#endif
528
509#endif /* __MPTCP_PROTOCOL_H */
529#endif /* __MPTCP_PROTOCOL_H */