sk_listener
struct sock *sk_listener,
const struct sock *sk_listener,
struct sock *sk_listener,
const struct sock *sk_listener,
struct sock *sk_listener,
const struct sock *sk_listener,
struct sock *sk_listener = req->rsk_listener;
if (inet_sk_state_load(sk_listener) != TCP_LISTEN) {
nsk = reuseport_migrate_sock(sk_listener, req_to_sk(req), NULL);
sk_listener = nsk;
icsk = inet_csk(sk_listener);
net = sock_net(sk_listener);
if ((qlen << 1) > max(8U, READ_ONCE(sk_listener->sk_max_ack_backlog))) {
!tcp_rtx_synack(sk_listener, req) ||
__inet_csk_reqsk_queue_drop(sk_listener, nreq, true);
__inet_csk_reqsk_queue_drop(sk_listener, oreq, true);
reqsk_alloc_noprof(const struct request_sock_ops *ops, struct sock *sk_listener,
if (unlikely(!refcount_inc_not_zero(&sk_listener->sk_refcnt))) {
req->rsk_listener = sk_listener;
req_to_sk(req)->sk_prot = sk_listener->sk_prot;
struct sock *sk_listener,
struct request_sock *req = reqsk_alloc(ops, sk_listener,
write_pnet(&ireq->ireq_net, sock_net(sk_listener));
ireq->ireq_family = sk_listener->sk_family;
const struct sock *sk_listener,
struct net *net = sock_net(sk_listener);
const struct sock *sk_listener,
const struct tcp_sock *tp = tcp_sk(sk_listener);
int full_space = tcp_full_space(sk_listener);
if (sk_listener->sk_userlocks & SOCK_RCVBUF_LOCK &&
tcp_select_initial_window(sk_listener, full_space,
const struct sock *sk_listener,
const struct ipv6_pinfo *np = tcp_inet6_sk(sk_listener);
if ((!sk_listener->sk_bound_dev_if || l3_slave) &&
(ipv6_opt_accepted(sk_listener, skb, &TCP_SKB_CB(skb)->header.h6) ||
np->rxopt.bits.rxohlim || inet6_test_bit(REPFLOW, sk_listener))) {
static void subflow_init_req(struct request_sock *req, const struct sock *sk_listener)
subflow_req->csum_reqd = mptcp_is_checksum_enabled(sock_net(sk_listener));
subflow_req->allow_join_id0 = mptcp_allow_join_id0(sock_net(sk_listener));
const struct sock *sk_listener,
struct mptcp_subflow_context *listener = mptcp_subflow_ctx(sk_listener);
if (rcu_access_pointer(tcp_sk(sk_listener)->md5sig_info)) {
if (subflow_use_different_sport(subflow_req->msk, sk_listener)) {
ntohs(inet_sk(sk_listener)->inet_sport),
if (!mptcp_pm_sport_in_anno_list(subflow_req->msk, sk_listener)) {
const struct sock *sk_listener,
struct mptcp_subflow_context *listener = mptcp_subflow_ctx(sk_listener);
subflow_init_req(req, sk_listener);
struct sock *sk_listener,
return inet_reqsk_alloc(ops, sk_listener, attach_listener);
if (sk_listener(sk))
!(sk && sk_listener(sk)))
} else if (sk_listener(sk)) {
if (!sk || sk_listener(sk)) {