fdbbe62a5a8b6184d8c8a72495239e57c83c0748
[sliver-openvswitch.git] / datapath / linux / compat / include / linux / ipv6.h
1 #ifndef __LINUX_IPV6_WRAPPER_H
2 #define __LINUX_IPV6_WRAPPER_H 1
3
4 #include_next <linux/ipv6.h>
5 #include <net/ipv6.h>
6
7 #ifndef HAVE_SKBUFF_HEADER_HELPERS
8 static inline struct ipv6hdr *ipv6_hdr(const struct sk_buff *skb)
9 {
10         return (struct ipv6hdr *)skb_network_header(skb);
11 }
12 #endif
13
14 /* This function is upstream but not the version which supplies the
15  * fragment offset.  We plan to propose the extended version.
16  */
17 #define ipv6_skip_exthdr rpl_ipv6_skip_exthdr
18 extern int rpl_ipv6_skip_exthdr(const struct sk_buff *skb, int start,
19                                 u8 *nexthdrp, __be16 *frag_offp);
20
21 #endif