#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/net_namespace.h>
#include <net/netlink.h>
#include <net/pkt_sched.h>
#include <linux/etherdevice.h>
#include <net/ife.h>
struct ifeheadr { … };
void *ife_encode(struct sk_buff *skb, u16 metalen)
{ … }
EXPORT_SYMBOL_GPL(…);
void *ife_decode(struct sk_buff *skb, u16 *metalen)
{ … }
EXPORT_SYMBOL_GPL(…);
struct meta_tlvhdr { … };
static bool __ife_tlv_meta_valid(const unsigned char *skbdata,
const unsigned char *ifehdr_end)
{ … }
void *ife_tlv_meta_decode(void *skbdata, const void *ifehdr_end, u16 *attrtype,
u16 *dlen, u16 *totlen)
{ … }
EXPORT_SYMBOL_GPL(…);
void *ife_tlv_meta_next(void *skbdata)
{ … }
EXPORT_SYMBOL_GPL(…);
int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen, const void *dval)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;