mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
Merge branch 'tcp-remove-rtx_syn_ack-and-inet_rtx_syn_ack'
Eric Dumazet says: ==================== tcp: remove rtx_syn_ack and inet_rtx_syn_ack() After DCCP removal, we can cleanup SYNACK retransmits a bit. ==================== Link: https://patch.msgid.link/20250626153017.2156274-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
680367bc9b
|
|
@ -30,8 +30,6 @@ struct request_sock_ops {
|
|||
unsigned int obj_size;
|
||||
struct kmem_cache *slab;
|
||||
char *slab_name;
|
||||
int (*rtx_syn_ack)(const struct sock *sk,
|
||||
struct request_sock *req);
|
||||
void (*send_ack)(const struct sock *sk, struct sk_buff *skb,
|
||||
struct request_sock *req);
|
||||
void (*send_reset)(const struct sock *sk,
|
||||
|
|
@ -41,8 +39,6 @@ struct request_sock_ops {
|
|||
void (*syn_ack_timeout)(const struct request_sock *req);
|
||||
};
|
||||
|
||||
int inet_rtx_syn_ack(const struct sock *parent, struct request_sock *req);
|
||||
|
||||
struct saved_syn {
|
||||
u32 mac_hdrlen;
|
||||
u32 network_hdrlen;
|
||||
|
|
|
|||
|
|
@ -884,15 +884,6 @@ static void syn_ack_recalc(struct request_sock *req,
|
|||
req->num_timeout >= rskq_defer_accept - 1;
|
||||
}
|
||||
|
||||
int inet_rtx_syn_ack(const struct sock *parent, struct request_sock *req)
|
||||
{
|
||||
int err = req->rsk_ops->rtx_syn_ack(parent, req);
|
||||
|
||||
if (!err)
|
||||
req->num_retrans++;
|
||||
return err;
|
||||
}
|
||||
|
||||
static struct request_sock *
|
||||
reqsk_alloc_noprof(const struct request_sock_ops *ops, struct sock *sk_listener,
|
||||
bool attach_listener)
|
||||
|
|
@ -1132,7 +1123,7 @@ static void reqsk_timer_handler(struct timer_list *t)
|
|||
req->rsk_ops->syn_ack_timeout(req);
|
||||
if (!expire &&
|
||||
(!resend ||
|
||||
!inet_rtx_syn_ack(sk_listener, req) ||
|
||||
!tcp_rtx_synack(sk_listener, req) ||
|
||||
inet_rsk(req)->acked)) {
|
||||
if (req->num_timeout++ == 0)
|
||||
atomic_dec(&queue->young);
|
||||
|
|
|
|||
|
|
@ -1703,7 +1703,6 @@ static struct dst_entry *tcp_v4_route_req(const struct sock *sk,
|
|||
struct request_sock_ops tcp_request_sock_ops __read_mostly = {
|
||||
.family = PF_INET,
|
||||
.obj_size = sizeof(struct tcp_request_sock),
|
||||
.rtx_syn_ack = tcp_rtx_synack,
|
||||
.send_ack = tcp_v4_reqsk_send_ack,
|
||||
.destructor = tcp_v4_reqsk_destructor,
|
||||
.send_reset = tcp_v4_send_reset,
|
||||
|
|
|
|||
|
|
@ -726,7 +726,7 @@ struct sock *tcp_check_req(struct sock *sk, struct sk_buff *skb,
|
|||
LINUX_MIB_TCPACKSKIPPEDSYNRECV,
|
||||
&tcp_rsk(req)->last_oow_ack_time) &&
|
||||
|
||||
!inet_rtx_syn_ack(sk, req)) {
|
||||
!tcp_rtx_synack(sk, req)) {
|
||||
unsigned long expires = jiffies;
|
||||
|
||||
expires += reqsk_timeout(req, TCP_RTO_MAX);
|
||||
|
|
|
|||
|
|
@ -4425,6 +4425,7 @@ int tcp_rtx_synack(const struct sock *sk, struct request_sock *req)
|
|||
tcp_sk_rw(sk)->total_retrans++;
|
||||
}
|
||||
trace_tcp_retransmit_synack(sk, req);
|
||||
req->num_retrans++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -478,7 +478,7 @@ static void tcp_fastopen_synack_timer(struct sock *sk, struct request_sock *req)
|
|||
* regular retransmit because if the child socket has been accepted
|
||||
* it's not good to give up too easily.
|
||||
*/
|
||||
inet_rtx_syn_ack(sk, req);
|
||||
tcp_rtx_synack(sk, req);
|
||||
req->num_timeout++;
|
||||
tcp_update_rto_stats(sk);
|
||||
if (!tp->retrans_stamp)
|
||||
|
|
|
|||
|
|
@ -835,7 +835,6 @@ static struct dst_entry *tcp_v6_route_req(const struct sock *sk,
|
|||
struct request_sock_ops tcp6_request_sock_ops __read_mostly = {
|
||||
.family = AF_INET6,
|
||||
.obj_size = sizeof(struct tcp6_request_sock),
|
||||
.rtx_syn_ack = tcp_rtx_synack,
|
||||
.send_ack = tcp_v6_reqsk_send_ack,
|
||||
.destructor = tcp_v6_reqsk_destructor,
|
||||
.send_reset = tcp_v6_send_reset,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user