tcp_request_sock_ops
struct tcp_request_sock_ops;
const struct tcp_request_sock_ops *af_specific;
extern struct request_sock_ops tcp_request_sock_ops;
const struct tcp_request_sock_ops *af_ops,
extern const struct tcp_request_sock_ops tcp_request_sock_ipv4_ops;
extern const struct tcp_request_sock_ops tcp_request_sock_ipv6_ops;
static inline __u32 cookie_init_sequence(const struct tcp_request_sock_ops *ops,
static inline __u32 cookie_init_sequence(const struct tcp_request_sock_ops *ops,
const struct tcp_request_sock_ops *af_ops,
ops = &tcp_request_sock_ops;
return cookie_tcp_reqsk_alloc(&tcp_request_sock_ops, sk, skb,
const struct tcp_request_sock_ops *af_ops,
const struct tcp_request_sock_ops *af_ops,
struct request_sock_ops tcp_request_sock_ops __read_mostly = {
const struct tcp_request_sock_ops tcp_request_sock_ipv4_ops = {
return tcp_conn_request(&tcp_request_sock_ops,
mss = tcp_get_syncookie_mss(&tcp_request_sock_ops,
.rsk_prot = &tcp_request_sock_ops,
const struct tcp_request_sock_ops *af_ops = tcp_rsk(req)->af_specific;
const struct tcp_request_sock_ops tcp_request_sock_ipv6_ops = {
mptcp_subflow_v4_request_sock_ops = tcp_request_sock_ops;
tcp_request_sock_ops.send_reset(sk, skb,
static struct tcp_request_sock_ops subflow_request_sock_ipv4_ops __ro_after_init;
tcp_request_sock_ops.destructor(req);
static struct tcp_request_sock_ops subflow_request_sock_ipv6_ops __ro_after_init;