request_sock
BTF_SOCK_TYPE(BTF_SOCK_TYPE_REQ, request_sock) \
struct request_sock *req)
const struct request_sock *req)
LSM_HOOK(void, LSM_RET_VOID, req_classify_flow, const struct request_sock *req,
void security_req_classify_flow(const struct request_sock *req,
struct sk_buff *skb, struct request_sock *req);
const struct request_sock *req);
static inline void security_req_classify_flow(const struct request_sock *req,
struct sk_buff *skb, struct request_sock *req)
const struct request_sock *req)
struct request_sock;
static inline bool tcp_rsk_used_ao(const struct request_sock *req)
struct request_sock __rcu *fastopen_rsk;
struct request_sock *req)
int cipso_v4_req_setattr(struct request_sock *req,
void cipso_v4_req_delattr(struct request_sock *req);
static inline int cipso_v4_req_setattr(struct request_sock *req,
static inline void cipso_v4_req_delattr(struct request_sock *req)
struct request_sock;
const struct request_sock *req, u8 proto);
const struct request_sock *req,
const struct request_sock *req);
const struct request_sock *req);
struct request_sock *req,
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req);
struct request_sock *req,
bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req);
void inet_csk_reqsk_queue_drop_and_put(struct sock *sk, struct request_sock *req);
struct request_sock *req,
struct request_sock *req_unhash,
sk = ((const struct request_sock *)sk)->rsk_listener;
struct request_sock *inet_reqsk_alloc(const struct request_sock_ops *ops,
struct request_sock req;
static inline bool rsk_is_mptcp(const struct request_sock *req)
static inline bool rsk_drop_req(const struct request_sock *req)
bool mptcp_synack_options(const struct request_sock *req, unsigned int *size,
int mptcp_subflow_init_cookie_req(struct request_sock *req,
struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops,
static inline bool rsk_is_mptcp(const struct request_sock *req)
static inline bool rsk_drop_req(const struct request_sock *req)
static inline bool mptcp_synack_options(const struct request_sock *req,
static inline int mptcp_subflow_init_cookie_req(struct request_sock *req,
static inline struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops,
int (*req_setattr)(struct request_sock *req,
void (*req_delattr)(struct request_sock *req);
int netlbl_req_setattr(struct request_sock *req,
void netlbl_req_delattr(struct request_sock *req);
static inline int netlbl_req_setattr(struct request_sock *req,
static inline void netlbl_req_delattr(struct request_sock *req)
struct request_sock *req = inet_reqsk(sk);
void __reqsk_free(struct request_sock *req);
static inline void reqsk_free(struct request_sock *req)
static inline void reqsk_put(struct request_sock *req)
struct request_sock *rskq_rst_head; /* Keep track of past TFO */
struct request_sock *rskq_rst_tail; /* requests that caused RST.
struct request_sock *rskq_accept_head;
struct request_sock *rskq_accept_tail;
void reqsk_fastopen_remove(struct sock *sk, struct request_sock *req,
static inline struct request_sock *reqsk_queue_remove(struct request_sock_queue *queue,
struct request_sock *req;
const struct request_sock *req)
struct request_sock;
static inline u32 tcp_synack_window(const struct request_sock *req)
struct request_sock *req);
void (*destructor)(struct request_sock *req);
struct request_sock *dl_next;
static inline struct request_sock *inet_reqsk(const struct sock *sk)
return (struct request_sock *)sk;
static inline struct sock *req_to_sk(struct request_sock *req)
extern void tcp_openreq_init_rwin(struct request_sock *req,
struct request_sock *req);
struct request_sock *req,
int tcp_rtx_synack(const struct sock *sk, struct request_sock *req);
struct request_sock *req,
void (*ao_calc_key)(struct tcp_ao_key *mkt, u8 *key, struct request_sock *sk);
struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req,
struct flowi *fl, struct request_sock *req,
void (*clone)(const struct request_sock *req, struct sock *newsk,
const struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req, bool fastopen,
bool tcp_peer_is_proven(struct request_sock *req, struct dst_entry *dst);
void tcp_syn_ack_timeout(const struct request_sock *req);
struct request_sock *req,
struct request_sock *req,
struct request_sock *req_unhash,
struct request_sock *req,
struct request_sock *req,
struct request_sock *cookie_tcp_reqsk_alloc(const struct request_sock_ops *ops,
u64 cookie_init_timestamp(struct request_sock *req, u64 now);
struct request_sock *cookie_bpf_check(struct sock *sk, struct sk_buff *skb);
static inline struct request_sock *cookie_bpf_check(struct net *net, struct sock *sk,
void tcp_synack_rtt_meas(struct sock *sk, struct request_sock *req);
static inline unsigned long tcp_reqsk_timeout(struct request_sock *req)
struct request_sock *req, struct sk_buff *skb,
const struct request_sock *req, int l3index,
struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req);
struct request_sock *req,
struct request_sock *req);
struct request_sock *req,
struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req, unsigned short int family);
struct request_sock *req, unsigned short int family)
const struct request_sock *req, int l3index,
tcp_ecn_make_synack(const struct request_sock *req, struct tcphdr *th,
TP_PROTO(const struct sock *sk, const struct request_sock *req),
BTF_TYPE_SAFE_RCU_OR_NULL(struct request_sock) {
BTF_TYPE_EMIT(BTF_TYPE_SAFE_RCU_OR_NULL(struct request_sock));
struct request_sock *req;
int cipso_v4_req_setattr(struct request_sock *req,
void cipso_v4_req_delattr(struct request_sock *req)
bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req)
void inet_csk_reqsk_queue_drop_and_put(struct sock *sk, struct request_sock *req)
struct request_sock *req = timer_container_of(req, t, rsk_timer);
struct request_sock *nreq = NULL, *oreq = req;
static bool reqsk_queue_hash_req(struct request_sock *req)
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req)
static void inet_clone_ulp(const struct request_sock *req, struct sock *newsk,
const struct request_sock *req,
static void inet_child_forget(struct sock *sk, struct request_sock *req,
struct request_sock *req,
struct request_sock *req, bool own_req)
struct request_sock *nreq;
struct request_sock *next, *req;
struct request_sock *nreq;
struct request_sock *req;
const struct request_sock *req)
const struct request_sock *req)
static void syn_ack_recalc(struct request_sock *req,
static struct request_sock *
struct request_sock *req;
struct request_sock *inet_reqsk_alloc(const struct request_sock_ops *ops,
struct request_sock *req = reqsk_alloc(ops, sk_listener,
void __reqsk_free(struct request_sock *req)
static struct request_sock *inet_reqsk_clone(struct request_sock *req,
struct request_sock *nreq;
const struct request_sock *req)
static void reqsk_migrate_reset(struct request_sock *req)
static bool reqsk_queue_unlink(struct request_sock *req)
struct request_sock *req,
struct request_sock *req = inet_reqsk(sk);
struct request_sock *req,
struct request_sock *req)
struct request_sock *cookie_bpf_check(struct sock *sk, struct sk_buff *skb)
struct request_sock *req = inet_reqsk(skb->sk);
struct request_sock *cookie_tcp_reqsk_alloc(const struct request_sock_ops *ops,
struct request_sock *req;
static struct request_sock *cookie_tcp_check(struct net *net, struct sock *sk,
struct request_sock *req;
u64 cookie_init_timestamp(struct request_sock *req, u64 now)
struct request_sock *req;
struct request_sock *req;
tcp_inbound_hash(struct sock *sk, const struct request_sock *req,
struct request_sock *req;
struct request_sock *req = inet_reqsk(sk);
struct request_sock *req, struct sk_buff *skb,
struct request_sock *req)
struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req,
struct request_sock *req = inet_reqsk(sk);
struct request_sock *req, unsigned short int family)
unsigned short int family, const struct request_sock *req,
struct request_sock *reqsk = inet_reqsk(sk);
static bool __tcp_fastopen_cookie_gen_cipher(struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req)
struct request_sock *req1;
struct request_sock *req,
void reqsk_fastopen_remove(struct sock *sk, struct request_sock *req,
void tcp_synack_rtt_meas(struct sock *sk, struct request_sock *req)
struct request_sock *req)
struct request_sock *req;
struct request_sock *req;
static inline void pr_drop_req(struct request_sock *req, __u16 port, int family)
static void tcp_ecn_create_request(struct request_sock *req,
static void tcp_openreq_init(struct request_sock *req,
struct request_sock *req,
struct request_sock *req;
struct request_sock *req)
struct request_sock *req,
static void tcp_v4_reqsk_destructor(struct request_sock *req)
static void tcp_v4_init_req(struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req_unhash,
struct request_sock *req = inet_reqsk(sk);
static void get_openreq4(const struct request_sock *req,
const struct request_sock *req = v;
struct request_sock *req = inet_reqsk(sk);
struct request_sock *fastopen;
static struct tcp_metrics_block *__tcp_get_metrics_req(struct request_sock *req,
bool tcp_peer_is_proven(struct request_sock *req, struct dst_entry *dst)
void tcp_openreq_init_rwin(struct request_sock *req,
const struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
int tcp_rtx_synack(const struct sock *sk, struct request_sock *req)
struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
static void mptcp_set_option_cond(const struct request_sock *req,
static void tcp_fastopen_synack_timer(struct sock *sk, struct request_sock *req)
struct request_sock *req;
void tcp_syn_ack_timeout(const struct request_sock *req)
static int calipso_req_setattr(struct request_sock *req,
static void calipso_req_delattr(struct request_sock *req)
const struct request_sock *req,
static struct request_sock *cookie_tcp_check(struct net *net, struct sock *sk,
struct request_sock *req;
struct request_sock *req, const struct sk_buff *skb,
struct request_sock *req)
struct request_sock *req,
struct request_sock *req)
struct request_sock *req,
struct request_sock *req_unhash,
struct request_sock *req = inet_reqsk(sk);
const struct request_sock *req, int i)
struct request_sock *fastopen;
struct request_sock *req,
static void tcp_v6_reqsk_destructor(struct request_sock *req)
static void tcp_v6_init_req(struct request_sock *req,
struct request_sock *req);
struct request_sock *req,
struct request_sock *req)
bool mptcp_synack_options(const struct request_sock *req, unsigned int *size,
struct request_sock *req)
static inline void mptcp_token_init_request(struct request_sock *req)
int mptcp_token_new_request(struct request_sock *req);
void mptcp_token_destroy_request(struct request_sock *req);
struct request_sock *req);
mptcp_subflow_rsk(const struct request_sock *rsk)
struct request_sock *req);
static void subflow_init_req(struct request_sock *req, const struct sock *sk_listener)
static int subflow_reset_req_endp(struct request_sock *req, struct sk_buff *skb)
static int subflow_check_req(struct request_sock *req,
struct request_sock *req, *head, *tail;
static void subflow_ulp_clone(const struct request_sock *req,
int mptcp_subflow_init_cookie_req(struct request_sock *req,
struct request_sock *req,
static void SUBFLOW_REQ_INC_STATS(struct request_sock *req,
static void subflow_prep_synack(const struct sock *sk, struct request_sock *req,
struct request_sock *req,
struct request_sock *req,
static void subflow_req_destructor(struct request_sock *req)
struct request_sock *req,
static void subflow_v4_req_destructor(struct request_sock *req)
static void subflow_v6_req_destructor(struct request_sock *req)
struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops,
struct request_sock *req,
struct request_sock *req_unhash,
static struct mptcp_sock *subflow_token_join_request(struct request_sock *req)
int mptcp_token_new_request(struct request_sock *req)
void mptcp_token_destroy_request(struct request_sock *req)
mptcp_token_new_request((struct request_sock *)req));
mptcp_token_destroy_request((struct request_sock *)req);
mptcp_token_new_request((struct request_sock *)req));
mptcp_token_init_request((struct request_sock *)req);
mptcp_token_new_request((struct request_sock *)req));
mptcp_token_destroy_request((struct request_sock *)req);
int calipso_req_setattr(struct request_sock *req,
void calipso_req_delattr(struct request_sock *req)
int calipso_req_setattr(struct request_sock *req,
void calipso_req_delattr(struct request_sock *req);
int netlbl_req_setattr(struct request_sock *req,
void netlbl_req_delattr(struct request_sock *req)
struct request_sock *req,
struct request_sock *req_unhash,
struct request_sock *req)
void security_req_classify_flow(const struct request_sock *req,
struct sk_buff *skb, struct request_sock *req)
const struct request_sock *req)
struct request_sock *req)
const struct request_sock *req)
static void selinux_req_classify_flow(const struct request_sock *req,
int selinux_netlbl_inet_conn_request(struct request_sock *req, u16 family);
static inline int selinux_netlbl_inet_conn_request(struct request_sock *req,
int selinux_netlbl_inet_conn_request(struct request_sock *req, u16 family)
struct request_sock *req)
const struct request_sock *req)
BTF_SOCK_TYPE(BTF_SOCK_TYPE_REQ, request_sock) \
struct request_sock *req = &irsk->req;
struct request_sock *req = &irsk->req;
int BPF_PROG(socket_clone, struct sock *newsk, const struct request_sock *req)
int BPF_PROG(nonvoid_socket_clone, struct sock *newsk, const struct request_sock *req)
struct request_sock *req_sk;
req_sk = (struct request_sock *)bpf_skc_to_tcp_request_sock(bpf_skc);
int BPF_PROG(tcp_retransmit_synack, struct sock* sk, struct request_sock* req)