root/include/uapi/linux/tipc_netlink.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */