mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
[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>
This commit is contained in:
parent
e372c41401
commit
7bc54c9030
4 changed files with 56 additions and 47 deletions
|
@ -22,24 +22,11 @@
|
|||
|
||||
extern struct proto raw_prot;
|
||||
|
||||
extern void raw_err(struct sock *, struct sk_buff *, u32 info);
|
||||
void raw_icmp_error(struct sk_buff *, int, u32);
|
||||
int raw_local_deliver(struct sk_buff *, int);
|
||||
|
||||
extern int raw_rcv(struct sock *, struct sk_buff *);
|
||||
|
||||
/* Note: v4 ICMP wants to get at this stuff, if you change the
|
||||
* hashing mechanism, make sure you update icmp.c as well.
|
||||
*/
|
||||
#define RAWV4_HTABLE_SIZE MAX_INET_PROTOS
|
||||
extern struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE];
|
||||
|
||||
extern rwlock_t raw_v4_lock;
|
||||
|
||||
|
||||
extern struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num,
|
||||
__be32 raddr, __be32 laddr,
|
||||
int dif);
|
||||
|
||||
extern int raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash);
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
extern int raw_proc_init(void);
|
||||
extern void raw_proc_exit(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue