linux/net/ipv6/ioam6_iptunnel.c

// SPDX-License-Identifier: GPL-2.0+
/*
 *  IPv6 IOAM Lightweight Tunnel implementation
 *
 *  Author:
 *  Justin Iurman <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/skbuff.h>
#include <linux/net.h>
#include <linux/in6.h>
#include <linux/ioam6.h>
#include <linux/ioam6_iptunnel.h>
#include <net/dst.h>
#include <net/sock.h>
#include <net/lwtunnel.h>
#include <net/ioam6.h>
#include <net/netlink.h>
#include <net/ipv6.h>
#include <net/dst_cache.h>
#include <net/ip6_route.h>
#include <net/addrconf.h>

#define IOAM6_MASK_SHORT_FIELDS
#define IOAM6_MASK_WIDE_FIELDS

struct ioam6_lwt_encap {} __packed;

struct ioam6_lwt_freq {};

struct ioam6_lwt {};

static const struct netlink_range_validation freq_range =;

static struct ioam6_lwt *ioam6_lwt_state(struct lwtunnel_state *lwt)
{}

static struct ioam6_lwt_encap *ioam6_lwt_info(struct lwtunnel_state *lwt)
{}

static struct ioam6_trace_hdr *ioam6_lwt_trace(struct lwtunnel_state *lwt)
{}

static const struct nla_policy ioam6_iptunnel_policy[IOAM6_IPTUNNEL_MAX + 1] =;

static bool ioam6_validate_trace_hdr(struct ioam6_trace_hdr *trace)
{}

static int ioam6_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 ioam6_do_fill(struct net *net, struct sk_buff *skb)
{}

static int ioam6_do_inline(struct net *net, struct sk_buff *skb,
			   struct ioam6_lwt_encap *tuninfo)
{}

static int ioam6_do_encap(struct net *net, struct sk_buff *skb,
			  struct ioam6_lwt_encap *tuninfo,
			  struct in6_addr *tundst)
{}

static int ioam6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
{}

static void ioam6_destroy_state(struct lwtunnel_state *lwt)
{}

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

static int ioam6_encap_nlsize(struct lwtunnel_state *lwtstate)
{}

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

static const struct lwtunnel_encap_ops ioam6_iptun_ops =;

int __init ioam6_iptunnel_init(void)
{}

void ioam6_iptunnel_exit(void)
{}