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