xref: /linux/include/uapi/linux/ila.h (revision 3eb66e91a25497065c5322b1268cbc3953642227)
16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
265d7ab8dSTom Herbert /* ila.h - ILA Interface */
365d7ab8dSTom Herbert 
465d7ab8dSTom Herbert #ifndef _UAPI_LINUX_ILA_H
565d7ab8dSTom Herbert #define _UAPI_LINUX_ILA_H
665d7ab8dSTom Herbert 
77f00feafSTom Herbert /* NETLINK_GENERIC related info */
87f00feafSTom Herbert #define ILA_GENL_NAME		"ila"
97f00feafSTom Herbert #define ILA_GENL_VERSION	0x1
107f00feafSTom Herbert 
1165d7ab8dSTom Herbert enum {
1265d7ab8dSTom Herbert 	ILA_ATTR_UNSPEC,
1365d7ab8dSTom Herbert 	ILA_ATTR_LOCATOR,			/* u64 */
147f00feafSTom Herbert 	ILA_ATTR_IDENTIFIER,			/* u64 */
157f00feafSTom Herbert 	ILA_ATTR_LOCATOR_MATCH,			/* u64 */
167f00feafSTom Herbert 	ILA_ATTR_IFINDEX,			/* s32 */
177f00feafSTom Herbert 	ILA_ATTR_DIR,				/* u32 */
18f13a82d8SNicolas Dichtel 	ILA_ATTR_PAD,
1990bfe662STom Herbert 	ILA_ATTR_CSUM_MODE,			/* u8 */
2070d5aef4STom Herbert 	ILA_ATTR_IDENT_TYPE,			/* u8 */
21fddb231eSTom Herbert 	ILA_ATTR_HOOK_TYPE,			/* u8 */
2265d7ab8dSTom Herbert 
2365d7ab8dSTom Herbert 	__ILA_ATTR_MAX,
2465d7ab8dSTom Herbert };
2565d7ab8dSTom Herbert 
2665d7ab8dSTom Herbert #define ILA_ATTR_MAX		(__ILA_ATTR_MAX - 1)
2765d7ab8dSTom Herbert 
287f00feafSTom Herbert enum {
297f00feafSTom Herbert 	ILA_CMD_UNSPEC,
307f00feafSTom Herbert 	ILA_CMD_ADD,
317f00feafSTom Herbert 	ILA_CMD_DEL,
327f00feafSTom Herbert 	ILA_CMD_GET,
33*b6e71bdeSTom Herbert 	ILA_CMD_FLUSH,
347f00feafSTom Herbert 
357f00feafSTom Herbert 	__ILA_CMD_MAX,
367f00feafSTom Herbert };
377f00feafSTom Herbert 
387f00feafSTom Herbert #define ILA_CMD_MAX	(__ILA_CMD_MAX - 1)
397f00feafSTom Herbert 
407f00feafSTom Herbert #define ILA_DIR_IN	(1 << 0)
417f00feafSTom Herbert #define ILA_DIR_OUT	(1 << 1)
427f00feafSTom Herbert 
4390bfe662STom Herbert enum {
4490bfe662STom Herbert 	ILA_CSUM_ADJUST_TRANSPORT,
4590bfe662STom Herbert 	ILA_CSUM_NEUTRAL_MAP,
4690bfe662STom Herbert 	ILA_CSUM_NO_ACTION,
4784287bb3STom Herbert 	ILA_CSUM_NEUTRAL_MAP_AUTO,
4890bfe662STom Herbert };
4990bfe662STom Herbert 
5070d5aef4STom Herbert enum {
5170d5aef4STom Herbert 	ILA_ATYPE_IID = 0,
5270d5aef4STom Herbert 	ILA_ATYPE_LUID,
5370d5aef4STom Herbert 	ILA_ATYPE_VIRT_V4,
5470d5aef4STom Herbert 	ILA_ATYPE_VIRT_UNI_V6,
5570d5aef4STom Herbert 	ILA_ATYPE_VIRT_MULTI_V6,
5670d5aef4STom Herbert 	ILA_ATYPE_NONLOCAL_ADDR,
5770d5aef4STom Herbert 	ILA_ATYPE_RSVD_1,
5870d5aef4STom Herbert 	ILA_ATYPE_RSVD_2,
5970d5aef4STom Herbert 
6070d5aef4STom Herbert 	ILA_ATYPE_USE_FORMAT = 32, /* Get type from type field in identifier */
6170d5aef4STom Herbert };
62fddb231eSTom Herbert 
63fddb231eSTom Herbert enum {
64fddb231eSTom Herbert 	ILA_HOOK_ROUTE_OUTPUT,
65fddb231eSTom Herbert 	ILA_HOOK_ROUTE_INPUT,
66fddb231eSTom Herbert };
67fddb231eSTom Herbert 
6865d7ab8dSTom Herbert #endif /* _UAPI_LINUX_ILA_H */
69