]>
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> | |
1ce84604 YG |
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 | ||
cc74eddd AA |
14 | void *ife_tlv_meta_decode(void *skbdata, const void *ifehdr_end, u16 *attrtype, |
15 | u16 *dlen, u16 *totlen); | |
1ce84604 YG |
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 */ |