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