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