linux/net/sched/act_ctinfo.c

// SPDX-License-Identifier: GPL-2.0+
/* net/sched/act_ctinfo.c  netfilter ctinfo connmark actions
 *
 * Copyright (c) 2019 Kevin Darbyshire-Bryant <[email protected]>
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/skbuff.h>
#include <linux/rtnetlink.h>
#include <linux/pkt_cls.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <net/netlink.h>
#include <net/pkt_sched.h>
#include <net/act_api.h>
#include <net/pkt_cls.h>
#include <uapi/linux/tc_act/tc_ctinfo.h>
#include <net/tc_act/tc_ctinfo.h>
#include <net/tc_wrapper.h>

#include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.h>
#include <net/netfilter/nf_conntrack_ecache.h>
#include <net/netfilter/nf_conntrack_zones.h>

static struct tc_action_ops act_ctinfo_ops;

static void tcf_ctinfo_dscp_set(struct nf_conn *ct, struct tcf_ctinfo *ca,
				struct tcf_ctinfo_params *cp,
				struct sk_buff *skb, int wlen, int proto)
{}

static void tcf_ctinfo_cpmark_set(struct nf_conn *ct, struct tcf_ctinfo *ca,
				  struct tcf_ctinfo_params *cp,
				  struct sk_buff *skb)
{}

TC_INDIRECT_SCOPE int tcf_ctinfo_act(struct sk_buff *skb,
				     const struct tc_action *a,
				     struct tcf_result *res)
{}

static const struct nla_policy ctinfo_policy[TCA_CTINFO_MAX + 1] =;

static int tcf_ctinfo_init(struct net *net, struct nlattr *nla,
			   struct nlattr *est, struct tc_action **a,
			   struct tcf_proto *tp, u32 flags,
			   struct netlink_ext_ack *extack)
{}

static int tcf_ctinfo_dump(struct sk_buff *skb, struct tc_action *a,
			   int bind, int ref)
{}

static void tcf_ctinfo_cleanup(struct tc_action *a)
{}

static struct tc_action_ops act_ctinfo_ops =;
MODULE_ALIAS_NET_ACT();

static __net_init int ctinfo_init_net(struct net *net)
{}

static void __net_exit ctinfo_exit_net(struct list_head *net_list)
{}

static struct pernet_operations ctinfo_net_ops =;

static int __init ctinfo_init_module(void)
{}

static void __exit ctinfo_cleanup_module(void)
{}

module_init();
module_exit(ctinfo_cleanup_module);
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();