Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1ce84604 YG |
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 | ||
12 | void *ife_encode(struct sk_buff *skb, u16 metalen); | |
13 | void *ife_decode(struct sk_buff *skb, u16 *metalen); | |
14 | ||
15 | void *ife_tlv_meta_decode(void *skbdata, u16 *attrtype, u16 *dlen, u16 *totlen); | |
16 | int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen, | |
17 | const void *dval); | |
18 | ||
19 | void *ife_tlv_meta_next(void *skbdata); | |
20 | ||
21 | #else | |
22 | ||
23 | static inline void *ife_encode(struct sk_buff *skb, u16 metalen) | |
24 | { | |
25 | return NULL; | |
26 | } | |
27 | ||
28 | static inline void *ife_decode(struct sk_buff *skb, u16 *metalen) | |
29 | { | |
30 | return NULL; | |
31 | } | |
32 | ||
33 | static inline void *ife_tlv_meta_decode(void *skbdata, u16 *attrtype, u16 *dlen, | |
34 | u16 *totlen) | |
35 | { | |
36 | return NULL; | |
37 | } | |
38 | ||
39 | static inline int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen, | |
40 | const void *dval) | |
41 | { | |
42 | return 0; | |
43 | } | |
44 | ||
45 | static inline void *ife_tlv_meta_next(void *skbdata) | |
46 | { | |
47 | return NULL; | |
48 | } | |
49 | ||
50 | #endif | |
51 | ||
52 | #endif /* __NET_IFE_H */ |