linux/include/net/ife.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __NET_IFE_H
   3#define __NET_IFE_H
   4
   5#include <linux/etherdevice.h>
   6#include <linux/rtnetlink.h>
   7#include <linux/module.h>
   8#include <uapi/linux/ife.h>
   9
  10#if IS_ENABLED(CONFIG_NET_IFE)
  11
  12void *ife_encode(struct sk_buff *skb, u16 metalen);
  13void *ife_decode(struct sk_buff *skb, u16 *metalen);
  14
  15void *ife_tlv_meta_decode(void *skbdata, const void *ifehdr_end, u16 *attrtype,
  16                          u16 *dlen, u16 *totlen);
  17int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen,
  18                        const void *dval);
  19
  20void *ife_tlv_meta_next(void *skbdata);
  21
  22#else
  23
  24static inline void *ife_encode(struct sk_buff *skb, u16 metalen)
  25{
  26        return NULL;
  27}
  28
  29static inline void *ife_decode(struct sk_buff *skb, u16 *metalen)
  30{
  31        return NULL;
  32}
  33
  34static inline void *ife_tlv_meta_decode(void *skbdata, u16 *attrtype, u16 *dlen,
  35                                        u16 *totlen)
  36{
  37        return NULL;
  38}
  39
  40static inline int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen,
  41                        const void *dval)
  42{
  43        return 0;
  44}
  45
  46static inline void *ife_tlv_meta_next(void *skbdata)
  47{
  48        return NULL;
  49}
  50
  51#endif
  52
  53#endif /* __NET_IFE_H */
  54