summaryrefslogtreecommitdiffstats
path: root/include/net/raw.h
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-11-20 07:36:45 +0100
committerDavid S. Miller <davem@davemloft.net>2008-01-28 23:54:30 +0100
commitb673e4dfc8f29e5bfe4d342029b793e9d504f6dd (patch)
treee0282a3819176b9f28eb7e2021c55c70bdbda50e /include/net/raw.h
parent[IPv6] RAW: Compact the API for the kernel (diff)
downloadlinux-b673e4dfc8f29e5bfe4d342029b793e9d504f6dd.tar.xz
linux-b673e4dfc8f29e5bfe4d342029b793e9d504f6dd.zip
[RAW]: Introduce raw_hashinfo structure
The ipv4/raw.c and ipv6/raw.c contain many common code (most of which is proc interface) which can be consolidated. Most of the places to consolidate deal with the raw sockets hashtable, so introduce a struct raw_hashinfo which describes the raw sockets hash. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/raw.h')
-rw-r--r--include/net/raw.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/raw.h b/include/net/raw.h
index 7fc3c770f170..70b27c7c8167 100644
--- a/include/net/raw.h
+++ b/include/net/raw.h
@@ -27,6 +27,13 @@ int raw_local_deliver(struct sk_buff *, int);
extern int raw_rcv(struct sock *, struct sk_buff *);
+#define RAW_HTABLE_SIZE MAX_INET_PROTOS
+
+struct raw_hashinfo {
+ rwlock_t lock;
+ struct hlist_head ht[RAW_HTABLE_SIZE];
+};
+
#ifdef CONFIG_PROC_FS
extern int raw_proc_init(void);
extern void raw_proc_exit(void);