aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/raw.c
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-03-22 19:56:51 -0400
committerDavid S. Miller <davem@davemloft.net>2008-03-22 19:56:51 -0400
commitfc8717baa8f52dd8d1b90df9008300ef3ec794ed (patch)
tree149c5e1c8db5bcf2af47caeb732f900bc722875f /net/ipv6/raw.c
parent6ba5a3c52da00015e739469e3b00cd6d0d4c5c67 (diff)
[RAW]: Add raw_hashinfo member on struct proto.
Sorry for the patch sequence confusion :| but I found that the similar thing can be done for raw sockets easily too late. Expand the proto.h union with the raw_hashinfo member and use it in raw_prot and rawv6_prot. This allows to drop the protocol specific versions of hash and unhash callbacks. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r--net/ipv6/raw.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index d6afa0216759..a9e4235157a2 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -65,17 +65,6 @@ static struct raw_hashinfo raw_v6_hashinfo = {
65 .lock = __RW_LOCK_UNLOCKED(raw_v6_hashinfo.lock), 65 .lock = __RW_LOCK_UNLOCKED(raw_v6_hashinfo.lock),
66}; 66};
67 67
68static void raw_v6_hash(struct sock *sk)
69{
70 raw_hash_sk(sk, &raw_v6_hashinfo);
71}
72
73static void raw_v6_unhash(struct sock *sk)
74{
75 raw_unhash_sk(sk, &raw_v6_hashinfo);
76}
77
78
79static struct sock *__raw_v6_lookup(struct net *net, struct sock *sk, 68static struct sock *__raw_v6_lookup(struct net *net, struct sock *sk,
80 unsigned short num, struct in6_addr *loc_addr, 69 unsigned short num, struct in6_addr *loc_addr,
81 struct in6_addr *rmt_addr, int dif) 70 struct in6_addr *rmt_addr, int dif)
@@ -1201,9 +1190,10 @@ struct proto rawv6_prot = {
1201 .recvmsg = rawv6_recvmsg, 1190 .recvmsg = rawv6_recvmsg,
1202 .bind = rawv6_bind, 1191 .bind = rawv6_bind,
1203 .backlog_rcv = rawv6_rcv_skb, 1192 .backlog_rcv = rawv6_rcv_skb,
1204 .hash = raw_v6_hash, 1193 .hash = raw_hash_sk,
1205 .unhash = raw_v6_unhash, 1194 .unhash = raw_unhash_sk,
1206 .obj_size = sizeof(struct raw6_sock), 1195 .obj_size = sizeof(struct raw6_sock),
1196 .h.raw_hash = &raw_v6_hashinfo,
1207#ifdef CONFIG_COMPAT 1197#ifdef CONFIG_COMPAT
1208 .compat_setsockopt = compat_rawv6_setsockopt, 1198 .compat_setsockopt = compat_rawv6_setsockopt,
1209 .compat_getsockopt = compat_rawv6_getsockopt, 1199 .compat_getsockopt = compat_rawv6_getsockopt,