#define pr_fmt(fmt) …
#include <linux/skbuff.h>
#include <linux/module.h>
#include <net/xfrm.h>
#include <net/protocol.h>
static int ipip_output(struct xfrm_state *x, struct sk_buff *skb)
{ … }
static int ipip_xfrm_rcv(struct xfrm_state *x, struct sk_buff *skb)
{ … }
static int ipip_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
{ … }
static void ipip_destroy(struct xfrm_state *x)
{ … }
static const struct xfrm_type ipip_type = …;
static int xfrm_tunnel_rcv(struct sk_buff *skb)
{ … }
static int xfrm_tunnel_err(struct sk_buff *skb, u32 info)
{ … }
static struct xfrm_tunnel xfrm_tunnel_handler __read_mostly = …;
#if IS_ENABLED(CONFIG_IPV6)
static struct xfrm_tunnel xfrm64_tunnel_handler __read_mostly = …;
#endif
static int __init ipip_init(void)
{ … }
static void __exit ipip_fini(void)
{ … }
module_init(…) …;
module_exit(ipip_fini);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS_XFRM_TYPE(…);