linux/net/sched/em_ipt.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * net/sched/em_ipt.c IPtables matches Ematch
 *
 * (c) 2018 Eyal Birger <[email protected]>
 */

#include <linux/gfp.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/skbuff.h>
#include <linux/tc_ematch/tc_em_ipt.h>
#include <linux/netfilter.h>
#include <linux/netfilter/x_tables.h>
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv6/ip6_tables.h>
#include <net/pkt_cls.h>

struct em_ipt_match {};

struct em_ipt_xt_match {};

static const struct nla_policy em_ipt_policy[TCA_EM_IPT_MAX + 1] =;

static int check_match(struct net *net, struct em_ipt_match *im, int mdata_len)
{}

static int policy_validate_match_data(struct nlattr **tb, u8 mrev)
{}

static int addrtype_validate_match_data(struct nlattr **tb, u8 mrev)
{}

static const struct em_ipt_xt_match em_ipt_xt_matches[] =;

static struct xt_match *get_xt_match(struct nlattr **tb)
{}

static int em_ipt_change(struct net *net, void *data, int data_len,
			 struct tcf_ematch *em)
{}

static void em_ipt_destroy(struct tcf_ematch *em)
{}

static int em_ipt_match(struct sk_buff *skb, struct tcf_ematch *em,
			struct tcf_pkt_info *info)
{}

static int em_ipt_dump(struct sk_buff *skb, struct tcf_ematch *em)
{}

static struct tcf_ematch_ops em_ipt_ops =;

static int __init init_em_ipt(void)
{}

static void __exit exit_em_ipt(void)
{}

MODULE_LICENSE();
MODULE_AUTHOR();
MODULE_DESCRIPTION();

module_init();
module_exit(exit_em_ipt);

MODULE_ALIAS_TCF_EMATCH();