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