[UDP]: Make full use of proto.h.udp_hash innovation.
After this we have only udp_lib_get_port to get the port and two stubs for ipv4 and ipv6. No difference in udp and udplite except for initialized h.udp_hash member. I tried to find a graceful way to drop the only difference between udp_v4_get_port and udp_v6_get_port (i.e. the rcv_saddr comparison routine), but adding one more callback on the struct proto didn't appear such :( Maybe later. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
39d8cda76c
commit
6ba5a3c52d
@ -51,9 +51,9 @@
|
||||
#include <linux/seq_file.h>
|
||||
#include "udp_impl.h"
|
||||
|
||||
static inline int udp_v6_get_port(struct sock *sk, unsigned short snum)
|
||||
int udp_v6_get_port(struct sock *sk, unsigned short snum)
|
||||
{
|
||||
return udp_get_port(sk, snum, ipv6_rcv_saddr_equal);
|
||||
return udp_lib_get_port(sk, snum, ipv6_rcv_saddr_equal);
|
||||
}
|
||||
|
||||
static struct sock *__udp6_lib_lookup(struct net *net,
|
||||
@ -1024,6 +1024,7 @@ struct proto udpv6_prot = {
|
||||
.sysctl_wmem = &sysctl_udp_wmem_min,
|
||||
.sysctl_rmem = &sysctl_udp_rmem_min,
|
||||
.obj_size = sizeof(struct udp6_sock),
|
||||
.h.udp_hash = udp_hash,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_udpv6_setsockopt,
|
||||
.compat_getsockopt = compat_udpv6_getsockopt,
|
||||
|
Reference in New Issue
Block a user