1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* fou.h - FOU Interface */
3 
4 #ifndef _UAPI_LINUX_FOU_H
5 #define _UAPI_LINUX_FOU_H
6 
7 /* NETLINK_GENERIC related info
8  */
9 #define FOU_GENL_NAME		"fou"
10 #define FOU_GENL_VERSION	0x1
11 
12 enum {
13 	FOU_ATTR_UNSPEC,
14 	FOU_ATTR_PORT,				/* u16 */
15 	FOU_ATTR_AF,				/* u8 */
16 	FOU_ATTR_IPPROTO,			/* u8 */
17 	FOU_ATTR_TYPE,				/* u8 */
18 	FOU_ATTR_REMCSUM_NOPARTIAL,		/* flag */
19 	FOU_ATTR_LOCAL_V4,			/* u32 */
20 	FOU_ATTR_LOCAL_V6,			/* in6_addr */
21 	FOU_ATTR_PEER_V4,			/* u32 */
22 	FOU_ATTR_PEER_V6,			/* in6_addr */
23 	FOU_ATTR_PEER_PORT,			/* u16 */
24 	FOU_ATTR_IFINDEX,			/* s32 */
25 
26 	__FOU_ATTR_MAX,
27 };
28 
29 #define FOU_ATTR_MAX		(__FOU_ATTR_MAX - 1)
30 
31 enum {
32 	FOU_CMD_UNSPEC,
33 	FOU_CMD_ADD,
34 	FOU_CMD_DEL,
35 	FOU_CMD_GET,
36 
37 	__FOU_CMD_MAX,
38 };
39 
40 enum {
41 	FOU_ENCAP_UNSPEC,
42 	FOU_ENCAP_DIRECT,
43 	FOU_ENCAP_GUE,
44 };
45 
46 #define FOU_CMD_MAX	(__FOU_CMD_MAX - 1)
47 
48 #endif /* _UAPI_LINUX_FOU_H */
49