linux/net/mpls/mpls_iptunnel.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * mpls tunnels	An implementation mpls tunnels using the light weight tunnel
 *		infrastructure
 *
 * Authors:	Roopa Prabhu, <[email protected]>
 */
#include <linux/types.h>
#include <linux/skbuff.h>
#include <linux/net.h>
#include <linux/module.h>
#include <linux/mpls.h>
#include <linux/vmalloc.h>
#include <net/ip.h>
#include <net/dst.h>
#include <net/lwtunnel.h>
#include <net/netevent.h>
#include <net/netns/generic.h>
#include <net/ip6_fib.h>
#include <net/route.h>
#include <net/mpls_iptunnel.h>
#include <linux/mpls_iptunnel.h>
#include "internal.h"

static const struct nla_policy mpls_iptunnel_policy[MPLS_IPTUNNEL_MAX + 1] =;

static unsigned int mpls_encap_size(struct mpls_iptunnel_encap *en)
{}

static int mpls_xmit(struct sk_buff *skb)
{}

static int mpls_build_state(struct net *net, struct nlattr *nla,
			    unsigned int family, const void *cfg,
			    struct lwtunnel_state **ts,
			    struct netlink_ext_ack *extack)
{}

static int mpls_fill_encap_info(struct sk_buff *skb,
				struct lwtunnel_state *lwtstate)
{}

static int mpls_encap_nlsize(struct lwtunnel_state *lwtstate)
{}

static int mpls_encap_cmp(struct lwtunnel_state *a, struct lwtunnel_state *b)
{}

static const struct lwtunnel_encap_ops mpls_iptun_ops =;

static int __init mpls_iptunnel_init(void)
{}
module_init();

static void __exit mpls_iptunnel_exit(void)
{}
module_exit(mpls_iptunnel_exit);

MODULE_ALIAS_RTNL_LWT();
MODULE_SOFTDEP();
MODULE_DESCRIPTION();
MODULE_LICENSE();