]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - include/net/ife.h
Merge tag 'trace-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[karo-tx-linux.git] / include / net / ife.h
1 #ifndef __NET_IFE_H
2 #define __NET_IFE_H
3
4 #include <linux/etherdevice.h>
5 #include <linux/rtnetlink.h>
6 #include <linux/module.h>
7 #include <uapi/linux/ife.h>
8
9 #if IS_ENABLED(CONFIG_NET_IFE)
10
11 void *ife_encode(struct sk_buff *skb, u16 metalen);
12 void *ife_decode(struct sk_buff *skb, u16 *metalen);
13
14 void *ife_tlv_meta_decode(void *skbdata, u16 *attrtype, u16 *dlen, u16 *totlen);
15 int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen,
16                         const void *dval);
17
18 void *ife_tlv_meta_next(void *skbdata);
19
20 #else
21
22 static inline void *ife_encode(struct sk_buff *skb, u16 metalen)
23 {
24         return NULL;
25 }
26
27 static inline void *ife_decode(struct sk_buff *skb, u16 *metalen)
28 {
29         return NULL;
30 }
31
32 static inline void *ife_tlv_meta_decode(void *skbdata, u16 *attrtype, u16 *dlen,
33                                         u16 *totlen)
34 {
35         return NULL;
36 }
37
38 static inline int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen,
39                         const void *dval)
40 {
41         return 0;
42 }
43
44 static inline void *ife_tlv_meta_next(void *skbdata)
45 {
46         return NULL;
47 }
48
49 #endif
50
51 #endif /* __NET_IFE_H */