#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/skbuff.h>
#include <linux/rtnetlink.h>
#include <linux/module.h>
#include <linux/init.h>
#include <net/netlink.h>
#include <net/pkt_sched.h>
#include <uapi/linux/tc_act/tc_ife.h>
#include <net/tc_act/tc_ife.h>
static int skbmark_encode(struct sk_buff *skb, void *skbdata,
struct tcf_meta_info *e)
{ … }
static int skbmark_decode(struct sk_buff *skb, void *data, u16 len)
{ … }
static int skbmark_check(struct sk_buff *skb, struct tcf_meta_info *e)
{ … }
static struct tcf_meta_ops ife_skbmark_ops = …;
static int __init ifemark_init_module(void)
{ … }
static void __exit ifemark_cleanup_module(void)
{ … }
module_init(…) …;
module_exit(ifemark_cleanup_module);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS_IFE_META(…) …;