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