xref: /OK3568_Linux_fs/kernel/include/uapi/linux/tipc_netlink.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2014, Ericsson AB
4*4882a593Smuzhiyun  * All rights reserved.
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * Redistribution and use in source and binary forms, with or without
7*4882a593Smuzhiyun  * modification, are permitted provided that the following conditions are met:
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * 1. Redistributions of source code must retain the above copyright
10*4882a593Smuzhiyun  *    notice, this list of conditions and the following disclaimer.
11*4882a593Smuzhiyun  * 2. Redistributions in binary form must reproduce the above copyright
12*4882a593Smuzhiyun  *    notice, this list of conditions and the following disclaimer in the
13*4882a593Smuzhiyun  *    documentation and/or other materials provided with the distribution.
14*4882a593Smuzhiyun  * 3. Neither the names of the copyright holders nor the names of its
15*4882a593Smuzhiyun  *    contributors may be used to endorse or promote products derived from
16*4882a593Smuzhiyun  *    this software without specific prior written permission.
17*4882a593Smuzhiyun  *
18*4882a593Smuzhiyun  * Alternatively, this software may be distributed under the terms of the
19*4882a593Smuzhiyun  * GNU General Public License ("GPL") version 2 as published by the Free
20*4882a593Smuzhiyun  * Software Foundation.
21*4882a593Smuzhiyun  *
22*4882a593Smuzhiyun  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23*4882a593Smuzhiyun  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24*4882a593Smuzhiyun  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25*4882a593Smuzhiyun  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26*4882a593Smuzhiyun  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27*4882a593Smuzhiyun  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28*4882a593Smuzhiyun  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29*4882a593Smuzhiyun  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30*4882a593Smuzhiyun  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31*4882a593Smuzhiyun  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32*4882a593Smuzhiyun  * POSSIBILITY OF SUCH DAMAGE.
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #ifndef _LINUX_TIPC_NETLINK_H_
36*4882a593Smuzhiyun #define _LINUX_TIPC_NETLINK_H_
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define TIPC_GENL_V2_NAME      "TIPCv2"
39*4882a593Smuzhiyun #define TIPC_GENL_V2_VERSION   0x1
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun /* Netlink commands */
42*4882a593Smuzhiyun enum {
43*4882a593Smuzhiyun 	TIPC_NL_UNSPEC,
44*4882a593Smuzhiyun 	TIPC_NL_LEGACY,
45*4882a593Smuzhiyun 	TIPC_NL_BEARER_DISABLE,
46*4882a593Smuzhiyun 	TIPC_NL_BEARER_ENABLE,
47*4882a593Smuzhiyun 	TIPC_NL_BEARER_GET,
48*4882a593Smuzhiyun 	TIPC_NL_BEARER_SET,
49*4882a593Smuzhiyun 	TIPC_NL_SOCK_GET,
50*4882a593Smuzhiyun 	TIPC_NL_PUBL_GET,
51*4882a593Smuzhiyun 	TIPC_NL_LINK_GET,
52*4882a593Smuzhiyun 	TIPC_NL_LINK_SET,
53*4882a593Smuzhiyun 	TIPC_NL_LINK_RESET_STATS,
54*4882a593Smuzhiyun 	TIPC_NL_MEDIA_GET,
55*4882a593Smuzhiyun 	TIPC_NL_MEDIA_SET,
56*4882a593Smuzhiyun 	TIPC_NL_NODE_GET,
57*4882a593Smuzhiyun 	TIPC_NL_NET_GET,
58*4882a593Smuzhiyun 	TIPC_NL_NET_SET,
59*4882a593Smuzhiyun 	TIPC_NL_NAME_TABLE_GET,
60*4882a593Smuzhiyun 	TIPC_NL_MON_SET,
61*4882a593Smuzhiyun 	TIPC_NL_MON_GET,
62*4882a593Smuzhiyun 	TIPC_NL_MON_PEER_GET,
63*4882a593Smuzhiyun 	TIPC_NL_PEER_REMOVE,
64*4882a593Smuzhiyun 	TIPC_NL_BEARER_ADD,
65*4882a593Smuzhiyun 	TIPC_NL_UDP_GET_REMOTEIP,
66*4882a593Smuzhiyun 	TIPC_NL_KEY_SET,
67*4882a593Smuzhiyun 	TIPC_NL_KEY_FLUSH,
68*4882a593Smuzhiyun 	TIPC_NL_ADDR_LEGACY_GET,
69*4882a593Smuzhiyun 
70*4882a593Smuzhiyun 	__TIPC_NL_CMD_MAX,
71*4882a593Smuzhiyun 	TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
72*4882a593Smuzhiyun };
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun /* Top level netlink attributes */
75*4882a593Smuzhiyun enum {
76*4882a593Smuzhiyun 	TIPC_NLA_UNSPEC,
77*4882a593Smuzhiyun 	TIPC_NLA_BEARER,		/* nest */
78*4882a593Smuzhiyun 	TIPC_NLA_SOCK,			/* nest */
79*4882a593Smuzhiyun 	TIPC_NLA_PUBL,			/* nest */
80*4882a593Smuzhiyun 	TIPC_NLA_LINK,			/* nest */
81*4882a593Smuzhiyun 	TIPC_NLA_MEDIA,			/* nest */
82*4882a593Smuzhiyun 	TIPC_NLA_NODE,			/* nest */
83*4882a593Smuzhiyun 	TIPC_NLA_NET,			/* nest */
84*4882a593Smuzhiyun 	TIPC_NLA_NAME_TABLE,		/* nest */
85*4882a593Smuzhiyun 	TIPC_NLA_MON,			/* nest */
86*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER,		/* nest */
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun 	__TIPC_NLA_MAX,
89*4882a593Smuzhiyun 	TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
90*4882a593Smuzhiyun };
91*4882a593Smuzhiyun 
92*4882a593Smuzhiyun /* Bearer info */
93*4882a593Smuzhiyun enum {
94*4882a593Smuzhiyun 	TIPC_NLA_BEARER_UNSPEC,
95*4882a593Smuzhiyun 	TIPC_NLA_BEARER_NAME,		/* string */
96*4882a593Smuzhiyun 	TIPC_NLA_BEARER_PROP,		/* nest */
97*4882a593Smuzhiyun 	TIPC_NLA_BEARER_DOMAIN,		/* u32 */
98*4882a593Smuzhiyun 	TIPC_NLA_BEARER_UDP_OPTS,	/* nest */
99*4882a593Smuzhiyun 
100*4882a593Smuzhiyun 	__TIPC_NLA_BEARER_MAX,
101*4882a593Smuzhiyun 	TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1
102*4882a593Smuzhiyun };
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun enum {
105*4882a593Smuzhiyun 	TIPC_NLA_UDP_UNSPEC,
106*4882a593Smuzhiyun 	TIPC_NLA_UDP_LOCAL,		/* sockaddr_storage */
107*4882a593Smuzhiyun 	TIPC_NLA_UDP_REMOTE,		/* sockaddr_storage */
108*4882a593Smuzhiyun 	TIPC_NLA_UDP_MULTI_REMOTEIP,	/* flag */
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun 	__TIPC_NLA_UDP_MAX,
111*4882a593Smuzhiyun 	TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1
112*4882a593Smuzhiyun };
113*4882a593Smuzhiyun /* Socket info */
114*4882a593Smuzhiyun enum {
115*4882a593Smuzhiyun 	TIPC_NLA_SOCK_UNSPEC,
116*4882a593Smuzhiyun 	TIPC_NLA_SOCK_ADDR,		/* u32 */
117*4882a593Smuzhiyun 	TIPC_NLA_SOCK_REF,		/* u32 */
118*4882a593Smuzhiyun 	TIPC_NLA_SOCK_CON,		/* nest */
119*4882a593Smuzhiyun 	TIPC_NLA_SOCK_HAS_PUBL,		/* flag */
120*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT,		/* nest */
121*4882a593Smuzhiyun 	TIPC_NLA_SOCK_TYPE,		/* u32 */
122*4882a593Smuzhiyun 	TIPC_NLA_SOCK_INO,		/* u32 */
123*4882a593Smuzhiyun 	TIPC_NLA_SOCK_UID,		/* u32 */
124*4882a593Smuzhiyun 	TIPC_NLA_SOCK_TIPC_STATE,	/* u32 */
125*4882a593Smuzhiyun 	TIPC_NLA_SOCK_COOKIE,		/* u64 */
126*4882a593Smuzhiyun 	TIPC_NLA_SOCK_PAD,		/* flag */
127*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP,		/* nest */
128*4882a593Smuzhiyun 
129*4882a593Smuzhiyun 	__TIPC_NLA_SOCK_MAX,
130*4882a593Smuzhiyun 	TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
131*4882a593Smuzhiyun };
132*4882a593Smuzhiyun 
133*4882a593Smuzhiyun /* Link info */
134*4882a593Smuzhiyun enum {
135*4882a593Smuzhiyun 	TIPC_NLA_LINK_UNSPEC,
136*4882a593Smuzhiyun 	TIPC_NLA_LINK_NAME,		/* string */
137*4882a593Smuzhiyun 	TIPC_NLA_LINK_DEST,		/* u32 */
138*4882a593Smuzhiyun 	TIPC_NLA_LINK_MTU,		/* u32 */
139*4882a593Smuzhiyun 	TIPC_NLA_LINK_BROADCAST,	/* flag */
140*4882a593Smuzhiyun 	TIPC_NLA_LINK_UP,		/* flag */
141*4882a593Smuzhiyun 	TIPC_NLA_LINK_ACTIVE,		/* flag */
142*4882a593Smuzhiyun 	TIPC_NLA_LINK_PROP,		/* nest */
143*4882a593Smuzhiyun 	TIPC_NLA_LINK_STATS,		/* nest */
144*4882a593Smuzhiyun 	TIPC_NLA_LINK_RX,		/* u32 */
145*4882a593Smuzhiyun 	TIPC_NLA_LINK_TX,		/* u32 */
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun 	__TIPC_NLA_LINK_MAX,
148*4882a593Smuzhiyun 	TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1
149*4882a593Smuzhiyun };
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun /* Media info */
152*4882a593Smuzhiyun enum {
153*4882a593Smuzhiyun 	TIPC_NLA_MEDIA_UNSPEC,
154*4882a593Smuzhiyun 	TIPC_NLA_MEDIA_NAME,		/* string */
155*4882a593Smuzhiyun 	TIPC_NLA_MEDIA_PROP,		/* nest */
156*4882a593Smuzhiyun 
157*4882a593Smuzhiyun 	__TIPC_NLA_MEDIA_MAX,
158*4882a593Smuzhiyun 	TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1
159*4882a593Smuzhiyun };
160*4882a593Smuzhiyun 
161*4882a593Smuzhiyun /* Node info */
162*4882a593Smuzhiyun enum {
163*4882a593Smuzhiyun 	TIPC_NLA_NODE_UNSPEC,
164*4882a593Smuzhiyun 	TIPC_NLA_NODE_ADDR,		/* u32 */
165*4882a593Smuzhiyun 	TIPC_NLA_NODE_UP,		/* flag */
166*4882a593Smuzhiyun 	TIPC_NLA_NODE_ID,		/* data */
167*4882a593Smuzhiyun 	TIPC_NLA_NODE_KEY,		/* data */
168*4882a593Smuzhiyun 	TIPC_NLA_NODE_KEY_MASTER,	/* flag */
169*4882a593Smuzhiyun 	TIPC_NLA_NODE_REKEYING,		/* u32 */
170*4882a593Smuzhiyun 
171*4882a593Smuzhiyun 	__TIPC_NLA_NODE_MAX,
172*4882a593Smuzhiyun 	TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1
173*4882a593Smuzhiyun };
174*4882a593Smuzhiyun 
175*4882a593Smuzhiyun /* Net info */
176*4882a593Smuzhiyun enum {
177*4882a593Smuzhiyun 	TIPC_NLA_NET_UNSPEC,
178*4882a593Smuzhiyun 	TIPC_NLA_NET_ID,		/* u32 */
179*4882a593Smuzhiyun 	TIPC_NLA_NET_ADDR,		/* u32 */
180*4882a593Smuzhiyun 	TIPC_NLA_NET_NODEID,		/* u64 */
181*4882a593Smuzhiyun 	TIPC_NLA_NET_NODEID_W1,		/* u64 */
182*4882a593Smuzhiyun 	TIPC_NLA_NET_ADDR_LEGACY,	/* flag */
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun 	__TIPC_NLA_NET_MAX,
185*4882a593Smuzhiyun 	TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
186*4882a593Smuzhiyun };
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun /* Name table info */
189*4882a593Smuzhiyun enum {
190*4882a593Smuzhiyun 	TIPC_NLA_NAME_TABLE_UNSPEC,
191*4882a593Smuzhiyun 	TIPC_NLA_NAME_TABLE_PUBL,	/* nest */
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun 	__TIPC_NLA_NAME_TABLE_MAX,
194*4882a593Smuzhiyun 	TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1
195*4882a593Smuzhiyun };
196*4882a593Smuzhiyun 
197*4882a593Smuzhiyun /* Monitor info */
198*4882a593Smuzhiyun enum {
199*4882a593Smuzhiyun 	TIPC_NLA_MON_UNSPEC,
200*4882a593Smuzhiyun 	TIPC_NLA_MON_ACTIVATION_THRESHOLD,	/* u32 */
201*4882a593Smuzhiyun 	TIPC_NLA_MON_REF,			/* u32 */
202*4882a593Smuzhiyun 	TIPC_NLA_MON_ACTIVE,			/* flag */
203*4882a593Smuzhiyun 	TIPC_NLA_MON_BEARER_NAME,		/* string */
204*4882a593Smuzhiyun 	TIPC_NLA_MON_PEERCNT,			/* u32 */
205*4882a593Smuzhiyun 	TIPC_NLA_MON_LISTGEN,			/* u32 */
206*4882a593Smuzhiyun 
207*4882a593Smuzhiyun 	__TIPC_NLA_MON_MAX,
208*4882a593Smuzhiyun 	TIPC_NLA_MON_MAX = __TIPC_NLA_MON_MAX - 1
209*4882a593Smuzhiyun };
210*4882a593Smuzhiyun 
211*4882a593Smuzhiyun /* Publication info */
212*4882a593Smuzhiyun enum {
213*4882a593Smuzhiyun 	TIPC_NLA_PUBL_UNSPEC,
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun 	TIPC_NLA_PUBL_TYPE,		/* u32 */
216*4882a593Smuzhiyun 	TIPC_NLA_PUBL_LOWER,		/* u32 */
217*4882a593Smuzhiyun 	TIPC_NLA_PUBL_UPPER,		/* u32 */
218*4882a593Smuzhiyun 	TIPC_NLA_PUBL_SCOPE,		/* u32 */
219*4882a593Smuzhiyun 	TIPC_NLA_PUBL_NODE,		/* u32 */
220*4882a593Smuzhiyun 	TIPC_NLA_PUBL_REF,		/* u32 */
221*4882a593Smuzhiyun 	TIPC_NLA_PUBL_KEY,		/* u32 */
222*4882a593Smuzhiyun 
223*4882a593Smuzhiyun 	__TIPC_NLA_PUBL_MAX,
224*4882a593Smuzhiyun 	TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1
225*4882a593Smuzhiyun };
226*4882a593Smuzhiyun 
227*4882a593Smuzhiyun /* Monitor peer info */
228*4882a593Smuzhiyun enum {
229*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_UNSPEC,
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_ADDR,			/* u32 */
232*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_DOMGEN,		/* u32 */
233*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_APPLIED,		/* u32 */
234*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_UPMAP,		/* u64 */
235*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_MEMBERS,		/* tlv */
236*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_UP,			/* flag */
237*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_HEAD,			/* flag */
238*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_LOCAL,		/* flag */
239*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_PAD,			/* flag */
240*4882a593Smuzhiyun 
241*4882a593Smuzhiyun 	__TIPC_NLA_MON_PEER_MAX,
242*4882a593Smuzhiyun 	TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1
243*4882a593Smuzhiyun };
244*4882a593Smuzhiyun 
245*4882a593Smuzhiyun /* Nest, socket group info */
246*4882a593Smuzhiyun enum {
247*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_ID,			/* u32 */
248*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_OPEN,		/* flag */
249*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_NODE_SCOPE,		/* flag */
250*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_CLUSTER_SCOPE,	/* flag */
251*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_INSTANCE,		/* u32 */
252*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_BC_SEND_NEXT,	/* u32 */
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun 	__TIPC_NLA_SOCK_GROUP_MAX,
255*4882a593Smuzhiyun 	TIPC_NLA_SOCK_GROUP_MAX = __TIPC_NLA_SOCK_GROUP_MAX - 1
256*4882a593Smuzhiyun };
257*4882a593Smuzhiyun 
258*4882a593Smuzhiyun /* Nest, connection info */
259*4882a593Smuzhiyun enum {
260*4882a593Smuzhiyun 	TIPC_NLA_CON_UNSPEC,
261*4882a593Smuzhiyun 
262*4882a593Smuzhiyun 	TIPC_NLA_CON_FLAG,		/* flag */
263*4882a593Smuzhiyun 	TIPC_NLA_CON_NODE,		/* u32 */
264*4882a593Smuzhiyun 	TIPC_NLA_CON_SOCK,		/* u32 */
265*4882a593Smuzhiyun 	TIPC_NLA_CON_TYPE,		/* u32 */
266*4882a593Smuzhiyun 	TIPC_NLA_CON_INST,		/* u32 */
267*4882a593Smuzhiyun 
268*4882a593Smuzhiyun 	__TIPC_NLA_CON_MAX,
269*4882a593Smuzhiyun 	TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
270*4882a593Smuzhiyun };
271*4882a593Smuzhiyun 
272*4882a593Smuzhiyun /* Nest, socket statistics info */
273*4882a593Smuzhiyun enum {
274*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_RCVQ,	/* u32 */
275*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_SENDQ,	/* u32 */
276*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_LINK_CONG,	/* flag */
277*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_CONN_CONG,	/* flag */
278*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_DROP,	/* u32 */
279*4882a593Smuzhiyun 
280*4882a593Smuzhiyun 	__TIPC_NLA_SOCK_STAT_MAX,
281*4882a593Smuzhiyun 	TIPC_NLA_SOCK_STAT_MAX = __TIPC_NLA_SOCK_STAT_MAX - 1
282*4882a593Smuzhiyun };
283*4882a593Smuzhiyun 
284*4882a593Smuzhiyun /* Nest, link propreties. Valid for link, media and bearer */
285*4882a593Smuzhiyun enum {
286*4882a593Smuzhiyun 	TIPC_NLA_PROP_UNSPEC,
287*4882a593Smuzhiyun 
288*4882a593Smuzhiyun 	TIPC_NLA_PROP_PRIO,		/* u32 */
289*4882a593Smuzhiyun 	TIPC_NLA_PROP_TOL,		/* u32 */
290*4882a593Smuzhiyun 	TIPC_NLA_PROP_WIN,		/* u32 */
291*4882a593Smuzhiyun 	TIPC_NLA_PROP_MTU,		/* u32 */
292*4882a593Smuzhiyun 	TIPC_NLA_PROP_BROADCAST,	/* u32 */
293*4882a593Smuzhiyun 	TIPC_NLA_PROP_BROADCAST_RATIO,	/* u32 */
294*4882a593Smuzhiyun 
295*4882a593Smuzhiyun 	__TIPC_NLA_PROP_MAX,
296*4882a593Smuzhiyun 	TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
297*4882a593Smuzhiyun };
298*4882a593Smuzhiyun 
299*4882a593Smuzhiyun /* Nest, statistics info */
300*4882a593Smuzhiyun enum {
301*4882a593Smuzhiyun 	TIPC_NLA_STATS_UNSPEC,
302*4882a593Smuzhiyun 
303*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_INFO,		/* u32 */
304*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_FRAGMENTS,	/* u32 */
305*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_FRAGMENTED,	/* u32 */
306*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_BUNDLES,	/* u32 */
307*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_BUNDLED,	/* u32 */
308*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_INFO,		/* u32 */
309*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_FRAGMENTS,	/* u32 */
310*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_FRAGMENTED,	/* u32 */
311*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_BUNDLES,	/* u32 */
312*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_BUNDLED,	/* u32 */
313*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_PROF_TOT,	/* u32 */
314*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_CNT,	/* u32 */
315*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_TOT,	/* u32 */
316*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P0,	/* u32 */
317*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P1,	/* u32 */
318*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P2,	/* u32 */
319*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P3,	/* u32 */
320*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P4,	/* u32 */
321*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P5,	/* u32 */
322*4882a593Smuzhiyun 	TIPC_NLA_STATS_MSG_LEN_P6,	/* u32 */
323*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_STATES,	/* u32 */
324*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_PROBES,	/* u32 */
325*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_NACKS,	/* u32 */
326*4882a593Smuzhiyun 	TIPC_NLA_STATS_RX_DEFERRED,	/* u32 */
327*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_STATES,	/* u32 */
328*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_PROBES,	/* u32 */
329*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_NACKS,	/* u32 */
330*4882a593Smuzhiyun 	TIPC_NLA_STATS_TX_ACKS,		/* u32 */
331*4882a593Smuzhiyun 	TIPC_NLA_STATS_RETRANSMITTED,	/* u32 */
332*4882a593Smuzhiyun 	TIPC_NLA_STATS_DUPLICATES,	/* u32 */
333*4882a593Smuzhiyun 	TIPC_NLA_STATS_LINK_CONGS,	/* u32 */
334*4882a593Smuzhiyun 	TIPC_NLA_STATS_MAX_QUEUE,	/* u32 */
335*4882a593Smuzhiyun 	TIPC_NLA_STATS_AVG_QUEUE,	/* u32 */
336*4882a593Smuzhiyun 
337*4882a593Smuzhiyun 	__TIPC_NLA_STATS_MAX,
338*4882a593Smuzhiyun 	TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1
339*4882a593Smuzhiyun };
340*4882a593Smuzhiyun 
341*4882a593Smuzhiyun #endif
342