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        TIPC_NL_PEER_REMOVE,
  63        TIPC_NL_BEARER_ADD,
  64        TIPC_NL_UDP_GET_REMOTEIP,
  65
  66        __TIPC_NL_CMD_MAX,
  67        TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
  68};
  69
  70/* Top level netlink attributes */
  71enum {
  72        TIPC_NLA_UNSPEC,
  73        TIPC_NLA_BEARER,                /* nest */
  74        TIPC_NLA_SOCK,                  /* nest */
  75        TIPC_NLA_PUBL,                  /* nest */
  76        TIPC_NLA_LINK,                  /* nest */
  77        TIPC_NLA_MEDIA,                 /* nest */
  78        TIPC_NLA_NODE,                  /* nest */
  79        TIPC_NLA_NET,                   /* nest */
  80        TIPC_NLA_NAME_TABLE,            /* nest */
  81        TIPC_NLA_MON,                   /* nest */
  82        TIPC_NLA_MON_PEER,              /* nest */
  83
  84        __TIPC_NLA_MAX,
  85        TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
  86};
  87
  88/* Bearer info */
  89enum {
  90        TIPC_NLA_BEARER_UNSPEC,
  91        TIPC_NLA_BEARER_NAME,           /* string */
  92        TIPC_NLA_BEARER_PROP,           /* nest */
  93        TIPC_NLA_BEARER_DOMAIN,         /* u32 */
  94        TIPC_NLA_BEARER_UDP_OPTS,       /* nest */
  95
  96        __TIPC_NLA_BEARER_MAX,
  97        TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1
  98};
  99
 100enum {
 101        TIPC_NLA_UDP_UNSPEC,
 102        TIPC_NLA_UDP_LOCAL,             /* sockaddr_storage */
 103        TIPC_NLA_UDP_REMOTE,            /* sockaddr_storage */
 104        TIPC_NLA_UDP_MULTI_REMOTEIP,    /* flag */
 105
 106        __TIPC_NLA_UDP_MAX,
 107        TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1
 108};
 109/* Socket info */
 110enum {
 111        TIPC_NLA_SOCK_UNSPEC,
 112        TIPC_NLA_SOCK_ADDR,             /* u32 */
 113        TIPC_NLA_SOCK_REF,              /* u32 */
 114        TIPC_NLA_SOCK_CON,              /* nest */
 115        TIPC_NLA_SOCK_HAS_PUBL,         /* flag */
 116
 117        __TIPC_NLA_SOCK_MAX,
 118        TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
 119};
 120
 121/* Link info */
 122enum {
 123        TIPC_NLA_LINK_UNSPEC,
 124        TIPC_NLA_LINK_NAME,             /* string */
 125        TIPC_NLA_LINK_DEST,             /* u32 */
 126        TIPC_NLA_LINK_MTU,              /* u32 */
 127        TIPC_NLA_LINK_BROADCAST,        /* flag */
 128        TIPC_NLA_LINK_UP,               /* flag */
 129        TIPC_NLA_LINK_ACTIVE,           /* flag */
 130        TIPC_NLA_LINK_PROP,             /* nest */
 131        TIPC_NLA_LINK_STATS,            /* nest */
 132        TIPC_NLA_LINK_RX,               /* u32 */
 133        TIPC_NLA_LINK_TX,               /* u32 */
 134
 135        __TIPC_NLA_LINK_MAX,
 136        TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1
 137};
 138
 139/* Media info */
 140enum {
 141        TIPC_NLA_MEDIA_UNSPEC,
 142        TIPC_NLA_MEDIA_NAME,            /* string */
 143        TIPC_NLA_MEDIA_PROP,            /* nest */
 144
 145        __TIPC_NLA_MEDIA_MAX,
 146        TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1
 147};
 148
 149/* Node info */
 150enum {
 151        TIPC_NLA_NODE_UNSPEC,
 152        TIPC_NLA_NODE_ADDR,             /* u32 */
 153        TIPC_NLA_NODE_UP,               /* flag */
 154
 155        __TIPC_NLA_NODE_MAX,
 156        TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1
 157};
 158
 159/* Net info */
 160enum {
 161        TIPC_NLA_NET_UNSPEC,
 162        TIPC_NLA_NET_ID,                /* u32 */
 163        TIPC_NLA_NET_ADDR,              /* u32 */
 164
 165        __TIPC_NLA_NET_MAX,
 166        TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
 167};
 168
 169/* Name table info */
 170enum {
 171        TIPC_NLA_NAME_TABLE_UNSPEC,
 172        TIPC_NLA_NAME_TABLE_PUBL,       /* nest */
 173
 174        __TIPC_NLA_NAME_TABLE_MAX,
 175        TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1
 176};
 177
 178/* Monitor info */
 179enum {
 180        TIPC_NLA_MON_UNSPEC,
 181        TIPC_NLA_MON_ACTIVATION_THRESHOLD,      /* u32 */
 182        TIPC_NLA_MON_REF,                       /* u32 */
 183        TIPC_NLA_MON_ACTIVE,                    /* flag */
 184        TIPC_NLA_MON_BEARER_NAME,               /* string */
 185        TIPC_NLA_MON_PEERCNT,                   /* u32 */
 186        TIPC_NLA_MON_LISTGEN,                   /* u32 */
 187
 188        __TIPC_NLA_MON_MAX,
 189        TIPC_NLA_MON_MAX = __TIPC_NLA_MON_MAX - 1
 190};
 191
 192/* Publication info */
 193enum {
 194        TIPC_NLA_PUBL_UNSPEC,
 195
 196        TIPC_NLA_PUBL_TYPE,             /* u32 */
 197        TIPC_NLA_PUBL_LOWER,            /* u32 */
 198        TIPC_NLA_PUBL_UPPER,            /* u32 */
 199        TIPC_NLA_PUBL_SCOPE,            /* u32 */
 200        TIPC_NLA_PUBL_NODE,             /* u32 */
 201        TIPC_NLA_PUBL_REF,              /* u32 */
 202        TIPC_NLA_PUBL_KEY,              /* u32 */
 203
 204        __TIPC_NLA_PUBL_MAX,
 205        TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1
 206};
 207
 208/* Monitor peer info */
 209enum {
 210        TIPC_NLA_MON_PEER_UNSPEC,
 211
 212        TIPC_NLA_MON_PEER_ADDR,                 /* u32 */
 213        TIPC_NLA_MON_PEER_DOMGEN,               /* u32 */
 214        TIPC_NLA_MON_PEER_APPLIED,              /* u32 */
 215        TIPC_NLA_MON_PEER_UPMAP,                /* u64 */
 216        TIPC_NLA_MON_PEER_MEMBERS,              /* tlv */
 217        TIPC_NLA_MON_PEER_UP,                   /* flag */
 218        TIPC_NLA_MON_PEER_HEAD,                 /* flag */
 219        TIPC_NLA_MON_PEER_LOCAL,                /* flag */
 220        TIPC_NLA_MON_PEER_PAD,                  /* flag */
 221
 222        __TIPC_NLA_MON_PEER_MAX,
 223        TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1
 224};
 225
 226/* Nest, connection info */
 227enum {
 228        TIPC_NLA_CON_UNSPEC,
 229
 230        TIPC_NLA_CON_FLAG,              /* flag */
 231        TIPC_NLA_CON_NODE,              /* u32 */
 232        TIPC_NLA_CON_SOCK,              /* u32 */
 233        TIPC_NLA_CON_TYPE,              /* u32 */
 234        TIPC_NLA_CON_INST,              /* u32 */
 235
 236        __TIPC_NLA_CON_MAX,
 237        TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
 238};
 239
 240/* Nest, link propreties. Valid for link, media and bearer */
 241enum {
 242        TIPC_NLA_PROP_UNSPEC,
 243
 244        TIPC_NLA_PROP_PRIO,             /* u32 */
 245        TIPC_NLA_PROP_TOL,              /* u32 */
 246        TIPC_NLA_PROP_WIN,              /* u32 */
 247
 248        __TIPC_NLA_PROP_MAX,
 249        TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
 250};
 251
 252/* Nest, statistics info */
 253enum {
 254        TIPC_NLA_STATS_UNSPEC,
 255
 256        TIPC_NLA_STATS_RX_INFO,         /* u32 */
 257        TIPC_NLA_STATS_RX_FRAGMENTS,    /* u32 */
 258        TIPC_NLA_STATS_RX_FRAGMENTED,   /* u32 */
 259        TIPC_NLA_STATS_RX_BUNDLES,      /* u32 */
 260        TIPC_NLA_STATS_RX_BUNDLED,      /* u32 */
 261        TIPC_NLA_STATS_TX_INFO,         /* u32 */
 262        TIPC_NLA_STATS_TX_FRAGMENTS,    /* u32 */
 263        TIPC_NLA_STATS_TX_FRAGMENTED,   /* u32 */
 264        TIPC_NLA_STATS_TX_BUNDLES,      /* u32 */
 265        TIPC_NLA_STATS_TX_BUNDLED,      /* u32 */
 266        TIPC_NLA_STATS_MSG_PROF_TOT,    /* u32 */
 267        TIPC_NLA_STATS_MSG_LEN_CNT,     /* u32 */
 268        TIPC_NLA_STATS_MSG_LEN_TOT,     /* u32 */
 269        TIPC_NLA_STATS_MSG_LEN_P0,      /* u32 */
 270        TIPC_NLA_STATS_MSG_LEN_P1,      /* u32 */
 271        TIPC_NLA_STATS_MSG_LEN_P2,      /* u32 */
 272        TIPC_NLA_STATS_MSG_LEN_P3,      /* u32 */
 273        TIPC_NLA_STATS_MSG_LEN_P4,      /* u32 */
 274        TIPC_NLA_STATS_MSG_LEN_P5,      /* u32 */
 275        TIPC_NLA_STATS_MSG_LEN_P6,      /* u32 */
 276        TIPC_NLA_STATS_RX_STATES,       /* u32 */
 277        TIPC_NLA_STATS_RX_PROBES,       /* u32 */
 278        TIPC_NLA_STATS_RX_NACKS,        /* u32 */
 279        TIPC_NLA_STATS_RX_DEFERRED,     /* u32 */
 280        TIPC_NLA_STATS_TX_STATES,       /* u32 */
 281        TIPC_NLA_STATS_TX_PROBES,       /* u32 */
 282        TIPC_NLA_STATS_TX_NACKS,        /* u32 */
 283        TIPC_NLA_STATS_TX_ACKS,         /* u32 */
 284        TIPC_NLA_STATS_RETRANSMITTED,   /* u32 */
 285        TIPC_NLA_STATS_DUPLICATES,      /* u32 */
 286        TIPC_NLA_STATS_LINK_CONGS,      /* u32 */
 287        TIPC_NLA_STATS_MAX_QUEUE,       /* u32 */
 288        TIPC_NLA_STATS_AVG_QUEUE,       /* u32 */
 289
 290        __TIPC_NLA_STATS_MAX,
 291        TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1
 292};
 293
 294#endif
 295