xref: /linux/include/uapi/linux/amt.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2 /*
3  * Copyright (c) 2021 Taehee Yoo <ap420073@gmail.com>
4  */
5 #ifndef _UAPI_AMT_H_
6 #define _UAPI_AMT_H_
7 
8 enum ifla_amt_mode {
9 	/* AMT interface works as Gateway mode.
10 	 * The Gateway mode encapsulates IGMP/MLD traffic and decapsulates
11 	 * multicast traffic.
12 	 */
13 	AMT_MODE_GATEWAY = 0,
14 	/* AMT interface works as Relay mode.
15 	 * The Relay mode encapsulates multicast traffic and decapsulates
16 	 * IGMP/MLD traffic.
17 	 */
18 	AMT_MODE_RELAY,
19 	__AMT_MODE_MAX,
20 };
21 
22 #define AMT_MODE_MAX (__AMT_MODE_MAX - 1)
23 
24 enum {
25 	IFLA_AMT_UNSPEC,
26 	/* This attribute specify mode etier Gateway or Relay. */
27 	IFLA_AMT_MODE,
28 	/* This attribute specify Relay port.
29 	 * AMT interface is created as Gateway mode, this attribute is used
30 	 * to specify relay(remote) port.
31 	 * AMT interface is created as Relay mode, this attribute is used
32 	 * as local port.
33 	 */
34 	IFLA_AMT_RELAY_PORT,
35 	/* This attribute specify Gateway port.
36 	 * AMT interface is created as Gateway mode, this attribute is used
37 	 * as local port.
38 	 * AMT interface is created as Relay mode, this attribute is not used.
39 	 */
40 	IFLA_AMT_GATEWAY_PORT,
41 	/* This attribute specify physical device */
42 	IFLA_AMT_LINK,
43 	/* This attribute specify local ip address */
44 	IFLA_AMT_LOCAL_IP,
45 	/* This attribute specify Relay ip address.
46 	 * So, this is not used by Relay.
47 	 */
48 	IFLA_AMT_REMOTE_IP,
49 	/* This attribute specify Discovery ip address.
50 	 * When Gateway get started, it send discovery message to find the
51 	 * Relay's ip address.
52 	 * So, this is not used by Relay.
53 	 */
54 	IFLA_AMT_DISCOVERY_IP,
55 	/* This attribute specify number of maximum tunnel. */
56 	IFLA_AMT_MAX_TUNNELS,
57 	__IFLA_AMT_MAX,
58 };
59 
60 #define IFLA_AMT_MAX (__IFLA_AMT_MAX - 1)
61 
62 #endif /* _UAPI_AMT_H_ */
63