tcp_request_sock_ops
Regular
4.4
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *, bool *);
__u32 (*init_seq)(const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, bool);
};
4.8
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *, bool *);
__u32 (*init_seq)(const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
4.10
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *, bool *);
__u32 (*init_seq)(const struct sk_buff *, u32 *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
4.13
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
4.15
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
4.18
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
5.0
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
5.3
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
5.4
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
5.8
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
5.11
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
5.13
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
5.15
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
5.19
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
6.2
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
6.5
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
6.8
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct request_sock *, int, int);
int (*ao_calc_key)(struct tcp_ao_key *, u8 *, struct request_sock *);
int (*ao_synack_hash)(char *, struct tcp_ao_key *, struct request_sock *, const struct sk_buff *, int, u32);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);
};
arm64
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
armhf
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
ppc64el
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
riscv64
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
aws
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
azure
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
gcp
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
lowlatency
: ✅struct tcp_request_sock_ops {
u16 mss_clamp;
struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *);
int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *);
void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *);
__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *);
u32 (*init_seq)(const struct sk_buff *);
u32 (*init_ts_off)(const struct net *, const struct sk_buff *);
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type);
};
Regular
4.4
and 4.8
⚠️int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, bool)
➡️ int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type)
4.8
and 4.10
⚠️__u32 (*init_seq)(const struct sk_buff *)
➡️ __u32 (*init_seq)(const struct sk_buff *, u32 *)
4.10
and 4.13
⚠️u32 (*init_ts_off)(const struct net *, const struct sk_buff *)
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *, bool *)
➡️ struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *)
__u32 (*init_seq)(const struct sk_buff *, u32 *)
➡️ u32 (*init_seq)(const struct sk_buff *)
4.13
and 4.15
✅
4.15
and 4.18
✅
4.18
and 5.0
✅
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️void (*init_req)(struct request_sock *, const struct sock *, struct sk_buff *)
struct dst_entry * (*route_req)(const struct sock *, struct flowi *, const struct request_sock *)
➡️ struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *)
int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type)
➡️ int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *)
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct request_sock *, int, int)
int (*ao_calc_key)(struct tcp_ao_key *, u8 *, struct request_sock *)
int (*ao_synack_hash)(char *, struct tcp_ao_key *, struct request_sock *, const struct sk_buff *, int, u32)
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅