]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tcp: remove rtx_syn_ack field
authorEric Dumazet <edumazet@google.com>
Thu, 26 Jun 2025 15:30:16 +0000 (15:30 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Jun 2025 22:34:18 +0000 (15:34 -0700)
Now inet_rtx_syn_ack() is only used by TCP, it can directly
call tcp_rtx_synack() instead of using an indirect call
to req->rsk_ops->rtx_syn_ack().

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250626153017.2156274-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/request_sock.h
net/ipv4/inet_connection_sock.c
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c

index b07b1cd14e9f4d41d2b4fbad6015bbfae4190636..bad7d16a5515beec7375bddbb74fdb8a6d0b4726 100644 (file)
@@ -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,
index f4157d26ec9e41eb2650b4d0155f796d2d535766..d61eef748851796f53592ca6781428266bdaca26 100644 (file)
@@ -886,7 +886,7 @@ static void syn_ack_recalc(struct request_sock *req,
 
 int inet_rtx_syn_ack(const struct sock *parent, struct request_sock *req)
 {
-       int err = req->rsk_ops->rtx_syn_ack(parent, req);
+       int err = tcp_rtx_synack(parent, req);
 
        if (!err)
                req->num_retrans++;
index 429fb34b075e0bdad0e1c55dd6b1101b3dfe78dd..56223338bc0f070179efb2ce9996fa7146782adc 100644 (file)
@@ -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,
index f0ce62549d90d6492b8ab139640cca91e4a9c2c7..9fb614e17bde99e5806cd56fdbc4d0b0b74a3f57 100644 (file)
@@ -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,