[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
@@ -35,11 +35,6 @@ static struct inet6_protocol udplitev6_protocol = {
|
||||
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
|
||||
};
|
||||
|
||||
static int udplite_v6_get_port(struct sock *sk, unsigned short snum)
|
||||
{
|
||||
return udplite_get_port(sk, snum, ipv6_rcv_saddr_equal);
|
||||
}
|
||||
|
||||
DEFINE_PROTO_INUSE(udplitev6)
|
||||
|
||||
struct proto udplitev6_prot = {
|
||||
@@ -58,8 +53,9 @@ struct proto udplitev6_prot = {
|
||||
.backlog_rcv = udpv6_queue_rcv_skb,
|
||||
.hash = udp_lib_hash,
|
||||
.unhash = udp_lib_unhash,
|
||||
.get_port = udplite_v6_get_port,
|
||||
.get_port = udp_v6_get_port,
|
||||
.obj_size = sizeof(struct udp6_sock),
|
||||
.h.udp_hash = udplite_hash,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_udpv6_setsockopt,
|
||||
.compat_getsockopt = compat_udpv6_getsockopt,
|
||||
|
Reference in New Issue
Block a user