aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-11-20 01:35:07 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:54:28 -0500
commit7bc54c90307b4bc3d7fb2ffd6ad8fbda0671a45e (patch)
tree74e2030d9603c41ce5dc3699862804a69300b7dc /include
parente372c41401993b45c721c4d92730e7e0a79f7c1b (diff)
[IPv4] RAW: Compact the API for the kernel
The raw sockets functions are explicitly used from inside the kernel in two places: 1. in ip_local_deliver_finish to intercept skb-s 2. in icmp_error For this purposes many functions and even data structures, that are naturally internal for raw protocol, are exported. Compact the API to two functions and hide all the other (including hash table and rwlock) inside the net/ipv4/raw.c Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/raw.h19
1 files changed, 3 insertions, 16 deletions
diff --git a/include/net/raw.h b/include/net/raw.h
index e4af59781949..7fc3c770f170 100644
--- a/include/net/raw.h
+++ b/include/net/raw.h
@@ -22,23 +22,10 @@
22 22
23extern struct proto raw_prot; 23extern struct proto raw_prot;
24 24
25extern void raw_err(struct sock *, struct sk_buff *, u32 info); 25void raw_icmp_error(struct sk_buff *, int, u32);
26extern int raw_rcv(struct sock *, struct sk_buff *); 26int raw_local_deliver(struct sk_buff *, int);
27
28/* Note: v4 ICMP wants to get at this stuff, if you change the
29 * hashing mechanism, make sure you update icmp.c as well.
30 */
31#define RAWV4_HTABLE_SIZE MAX_INET_PROTOS
32extern struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE];
33
34extern rwlock_t raw_v4_lock;
35 27
36 28extern int raw_rcv(struct sock *, struct sk_buff *);
37extern struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num,
38 __be32 raddr, __be32 laddr,
39 int dif);
40
41extern int raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash);
42 29
43#ifdef CONFIG_PROC_FS 30#ifdef CONFIG_PROC_FS
44extern int raw_proc_init(void); 31extern int raw_proc_init(void);