mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:46:16 +00:00
tcp: get rid of twsk_unique()
DCCP is going away soon, and had no twsk_unique() method. We can directly call tcp_twsk_unique() for TCP sockets. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> Link: https://lore.kernel.org/r/20240507164140.940547-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
33fb988b67
commit
383eed2de5
@ -15,18 +15,9 @@ struct timewait_sock_ops {
|
||||
struct kmem_cache *twsk_slab;
|
||||
char *twsk_slab_name;
|
||||
unsigned int twsk_obj_size;
|
||||
int (*twsk_unique)(struct sock *sk,
|
||||
struct sock *sktw, void *twp);
|
||||
void (*twsk_destructor)(struct sock *sk);
|
||||
};
|
||||
|
||||
static inline int twsk_unique(struct sock *sk, struct sock *sktw, void *twp)
|
||||
{
|
||||
if (sk->sk_prot->twsk_prot->twsk_unique != NULL)
|
||||
return sk->sk_prot->twsk_prot->twsk_unique(sk, sktw, twp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void twsk_destructor(struct sock *sk)
|
||||
{
|
||||
if (sk->sk_prot->twsk_prot->twsk_destructor != NULL)
|
||||
|
@ -565,7 +565,8 @@ static int __inet_check_established(struct inet_timewait_death_row *death_row,
|
||||
if (likely(inet_match(net, sk2, acookie, ports, dif, sdif))) {
|
||||
if (sk2->sk_state == TCP_TIME_WAIT) {
|
||||
tw = inet_twsk(sk2);
|
||||
if (twsk_unique(sk, sk2, twp))
|
||||
if (sk->sk_protocol == IPPROTO_TCP &&
|
||||
tcp_twsk_unique(sk, sk2, twp))
|
||||
break;
|
||||
}
|
||||
goto not_unique;
|
||||
|
@ -2437,7 +2437,6 @@ int tcp_v4_rcv(struct sk_buff *skb)
|
||||
|
||||
static struct timewait_sock_ops tcp_timewait_sock_ops = {
|
||||
.twsk_obj_size = sizeof(struct tcp_timewait_sock),
|
||||
.twsk_unique = tcp_twsk_unique,
|
||||
.twsk_destructor= tcp_twsk_destructor,
|
||||
};
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <net/secure_seq.h>
|
||||
#include <net/ip.h>
|
||||
#include <net/sock_reuseport.h>
|
||||
#include <net/tcp.h>
|
||||
|
||||
u32 inet6_ehashfn(const struct net *net,
|
||||
const struct in6_addr *laddr, const u16 lport,
|
||||
@ -289,7 +290,8 @@ static int __inet6_check_established(struct inet_timewait_death_row *death_row,
|
||||
dif, sdif))) {
|
||||
if (sk2->sk_state == TCP_TIME_WAIT) {
|
||||
tw = inet_twsk(sk2);
|
||||
if (twsk_unique(sk, sk2, twp))
|
||||
if (sk->sk_protocol == IPPROTO_TCP &&
|
||||
tcp_twsk_unique(sk, sk2, twp))
|
||||
break;
|
||||
}
|
||||
goto not_unique;
|
||||
|
@ -2049,7 +2049,6 @@ void tcp_v6_early_demux(struct sk_buff *skb)
|
||||
|
||||
static struct timewait_sock_ops tcp6_timewait_sock_ops = {
|
||||
.twsk_obj_size = sizeof(struct tcp6_timewait_sock),
|
||||
.twsk_unique = tcp_twsk_unique,
|
||||
.twsk_destructor = tcp_twsk_destructor,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user