blob: cbe4e9de1894674ea194239fd21d6f85435d5078 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _NET_RAWV6_H
2#define _NET_RAWV6_H
3
Masahide NAKAMURA59fbb3a62007-06-26 23:56:32 -07004#include <net/protocol.h>
5
Cyrill Gorcunov432490f2016-10-21 13:03:44 +03006extern struct raw_hashinfo raw_v6_hashinfo;
7struct sock *__raw_v6_lookup(struct net *net, struct sock *sk,
8 unsigned short num, const struct in6_addr *loc_addr,
9 const struct in6_addr *rmt_addr, int dif);
10
11int raw_abort(struct sock *sk, int err);
12
Pavel Emelyanov69d6da02007-11-19 22:35:57 -080013void raw6_icmp_error(struct sk_buff *, int nexthdr,
Brian Haleyd5fdd6b2009-06-23 04:31:07 -070014 u8 type, u8 code, int inner_offset, __be32);
Eric Dumazeta50feda2012-05-18 18:57:34 +000015bool raw6_local_deliver(struct sk_buff *, int);
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
Joe Perches0ad6ad92013-09-22 10:32:19 -070017int rawv6_rcv(struct sock *sk, struct sk_buff *skb);
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
Masahide NAKAMURA59fbb3a62007-06-26 23:56:32 -070019#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
20int rawv6_mh_filter_register(int (*filter)(struct sock *sock,
21 struct sk_buff *skb));
22int rawv6_mh_filter_unregister(int (*filter)(struct sock *sock,
23 struct sk_buff *skb));
24#endif
25
Linus Torvalds1da177e2005-04-16 15:20:36 -070026#endif