#include <linux/module.h>
#include <linux/string.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv6.h>
#include <net/ipv6.h>
#include <net/xfrm.h>
#include <net/protocol.h>
#include <net/gro.h>
int xfrm6_rcv_spi(struct sk_buff *skb, int nexthdr, __be32 spi,
struct ip6_tnl *t)
{ … }
EXPORT_SYMBOL(…);
static int xfrm6_transport_finish2(struct net *net, struct sock *sk,
struct sk_buff *skb)
{ … }
int xfrm6_transport_finish(struct sk_buff *skb, int async)
{ … }
static int __xfrm6_udp_encap_rcv(struct sock *sk, struct sk_buff *skb, bool pull)
{ … }
int xfrm6_udp_encap_rcv(struct sock *sk, struct sk_buff *skb)
{ … }
struct sk_buff *xfrm6_gro_udp_encap_rcv(struct sock *sk, struct list_head *head,
struct sk_buff *skb)
{ … }
int xfrm6_rcv_tnl(struct sk_buff *skb, struct ip6_tnl *t)
{ … }
EXPORT_SYMBOL(…);
int xfrm6_rcv(struct sk_buff *skb)
{ … }
EXPORT_SYMBOL(…);
int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr,
xfrm_address_t *saddr, u8 proto)
{ … }
EXPORT_SYMBOL(…);