| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| 2 | /* ila.h - ILA Interface */ |
| 3 | |
| 4 | #ifndef _LINUX_ILA_H |
| 5 | #define _LINUX_ILA_H |
| 6 | |
| 7 | /* NETLINK_GENERIC related info */ |
| 8 | #define ILA_GENL_NAME		"ila" |
| 9 | #define ILA_GENL_VERSION	0x1 |
| 10 | |
| 11 | enum { |
| 12 | 	ILA_ATTR_UNSPEC, |
| 13 | 	ILA_ATTR_LOCATOR,			/* u64 */ |
| 14 | 	ILA_ATTR_IDENTIFIER,			/* u64 */ |
| 15 | 	ILA_ATTR_LOCATOR_MATCH,			/* u64 */ |
| 16 | 	ILA_ATTR_IFINDEX,			/* s32 */ |
| 17 | 	ILA_ATTR_DIR,				/* u32 */ |
| 18 | 	ILA_ATTR_PAD, |
| 19 | 	ILA_ATTR_CSUM_MODE,			/* u8 */ |
| 20 | 	ILA_ATTR_IDENT_TYPE,			/* u8 */ |
| 21 | 	ILA_ATTR_HOOK_TYPE,			/* u8 */ |
| 22 | |
| 23 | 	__ILA_ATTR_MAX, |
| 24 | }; |
| 25 | |
| 26 | #define ILA_ATTR_MAX		(__ILA_ATTR_MAX - 1) |
| 27 | |
| 28 | enum { |
| 29 | 	ILA_CMD_UNSPEC, |
| 30 | 	ILA_CMD_ADD, |
| 31 | 	ILA_CMD_DEL, |
| 32 | 	ILA_CMD_GET, |
| 33 | 	ILA_CMD_FLUSH, |
| 34 | |
| 35 | 	__ILA_CMD_MAX, |
| 36 | }; |
| 37 | |
| 38 | #define ILA_CMD_MAX	(__ILA_CMD_MAX - 1) |
| 39 | |
| 40 | #define ILA_DIR_IN	(1 << 0) |
| 41 | #define ILA_DIR_OUT	(1 << 1) |
| 42 | |
| 43 | enum { |
| 44 | 	ILA_CSUM_ADJUST_TRANSPORT, |
| 45 | 	ILA_CSUM_NEUTRAL_MAP, |
| 46 | 	ILA_CSUM_NO_ACTION, |
| 47 | 	ILA_CSUM_NEUTRAL_MAP_AUTO, |
| 48 | }; |
| 49 | |
| 50 | enum { |
| 51 | 	ILA_ATYPE_IID = 0, |
| 52 | 	ILA_ATYPE_LUID, |
| 53 | 	ILA_ATYPE_VIRT_V4, |
| 54 | 	ILA_ATYPE_VIRT_UNI_V6, |
| 55 | 	ILA_ATYPE_VIRT_MULTI_V6, |
| 56 | 	ILA_ATYPE_NONLOCAL_ADDR, |
| 57 | 	ILA_ATYPE_RSVD_1, |
| 58 | 	ILA_ATYPE_RSVD_2, |
| 59 | |
| 60 | 	ILA_ATYPE_USE_FORMAT = 32, /* Get type from type field in identifier */ |
| 61 | }; |
| 62 | |
| 63 | enum { |
| 64 | 	ILA_HOOK_ROUTE_OUTPUT, |
| 65 | 	ILA_HOOK_ROUTE_INPUT, |
| 66 | }; |
| 67 | |
| 68 | #endif /* _LINUX_ILA_H */ |