diff options
Diffstat (limited to 'include/net/rawv6.h')
| -rw-r--r-- | include/net/rawv6.h | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/include/net/rawv6.h b/include/net/rawv6.h index 14476a71725..87783dea079 100644 --- a/include/net/rawv6.h +++ b/include/net/rawv6.h @@ -1,28 +1,19 @@ #ifndef _NET_RAWV6_H #define _NET_RAWV6_H -#ifdef __KERNEL__ +#include <net/protocol.h> -#define RAWV6_HTABLE_SIZE MAX_INET_PROTOS -extern struct hlist_head raw_v6_htable[RAWV6_HTABLE_SIZE]; -extern rwlock_t raw_v6_lock; +void raw6_icmp_error(struct sk_buff *, int nexthdr, + u8 type, u8 code, int inner_offset, __be32); +bool raw6_local_deliver(struct sk_buff *, int); -extern int ipv6_raw_deliver(struct sk_buff *skb, int nexthdr); - -extern struct sock *__raw_v6_lookup(struct sock *sk, unsigned short num, - struct in6_addr *loc_addr, struct in6_addr *rmt_addr, - int dif); - -extern int rawv6_rcv(struct sock *sk, - struct sk_buff *skb); - - -extern void rawv6_err(struct sock *sk, - struct sk_buff *skb, - struct inet6_skb_parm *opt, - int type, int code, - int offset, u32 info); +int rawv6_rcv(struct sock *sk, struct sk_buff *skb); +#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) +int rawv6_mh_filter_register(int (*filter)(struct sock *sock, + struct sk_buff *skb)); +int rawv6_mh_filter_unregister(int (*filter)(struct sock *sock, + struct sk_buff *skb)); #endif #endif |
