root/include/uapi/linux/if_team.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
   2 /*
   3  * include/linux/if_team.h - Network team device driver header
   4  * Copyright (c) 2011 Jiri Pirko <jpirko@redhat.com>
   5  *
   6  * This program is free software; you can redistribute it and/or modify
   7  * it under the terms of the GNU General Public License as published by
   8  * the Free Software Foundation; either version 2 of the License, or
   9  * (at your option) any later version.
  10  */
  11 
  12 #ifndef _UAPI_LINUX_IF_TEAM_H_
  13 #define _UAPI_LINUX_IF_TEAM_H_
  14 
  15 
  16 #define TEAM_STRING_MAX_LEN 32
  17 
  18 /**********************************
  19  * NETLINK_GENERIC netlink family.
  20  **********************************/
  21 
  22 enum {
  23         TEAM_CMD_NOOP,
  24         TEAM_CMD_OPTIONS_SET,
  25         TEAM_CMD_OPTIONS_GET,
  26         TEAM_CMD_PORT_LIST_GET,
  27 
  28         __TEAM_CMD_MAX,
  29         TEAM_CMD_MAX = (__TEAM_CMD_MAX - 1),
  30 };
  31 
  32 enum {
  33         TEAM_ATTR_UNSPEC,
  34         TEAM_ATTR_TEAM_IFINDEX,         /* u32 */
  35         TEAM_ATTR_LIST_OPTION,          /* nest */
  36         TEAM_ATTR_LIST_PORT,            /* nest */
  37 
  38         __TEAM_ATTR_MAX,
  39         TEAM_ATTR_MAX = __TEAM_ATTR_MAX - 1,
  40 };
  41 
  42 /* Nested layout of get/set msg:
  43  *
  44  *      [TEAM_ATTR_LIST_OPTION]
  45  *              [TEAM_ATTR_ITEM_OPTION]
  46  *                      [TEAM_ATTR_OPTION_*], ...
  47  *              [TEAM_ATTR_ITEM_OPTION]
  48  *                      [TEAM_ATTR_OPTION_*], ...
  49  *              ...
  50  *      [TEAM_ATTR_LIST_PORT]
  51  *              [TEAM_ATTR_ITEM_PORT]
  52  *                      [TEAM_ATTR_PORT_*], ...
  53  *              [TEAM_ATTR_ITEM_PORT]
  54  *                      [TEAM_ATTR_PORT_*], ...
  55  *              ...
  56  */
  57 
  58 enum {
  59         TEAM_ATTR_ITEM_OPTION_UNSPEC,
  60         TEAM_ATTR_ITEM_OPTION,          /* nest */
  61 
  62         __TEAM_ATTR_ITEM_OPTION_MAX,
  63         TEAM_ATTR_ITEM_OPTION_MAX = __TEAM_ATTR_ITEM_OPTION_MAX - 1,
  64 };
  65 
  66 enum {
  67         TEAM_ATTR_OPTION_UNSPEC,
  68         TEAM_ATTR_OPTION_NAME,          /* string */
  69         TEAM_ATTR_OPTION_CHANGED,       /* flag */
  70         TEAM_ATTR_OPTION_TYPE,          /* u8 */
  71         TEAM_ATTR_OPTION_DATA,          /* dynamic */
  72         TEAM_ATTR_OPTION_REMOVED,       /* flag */
  73         TEAM_ATTR_OPTION_PORT_IFINDEX,  /* u32 */ /* for per-port options */
  74         TEAM_ATTR_OPTION_ARRAY_INDEX,   /* u32 */ /* for array options */
  75 
  76         __TEAM_ATTR_OPTION_MAX,
  77         TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1,
  78 };
  79 
  80 enum {
  81         TEAM_ATTR_ITEM_PORT_UNSPEC,
  82         TEAM_ATTR_ITEM_PORT,            /* nest */
  83 
  84         __TEAM_ATTR_ITEM_PORT_MAX,
  85         TEAM_ATTR_ITEM_PORT_MAX = __TEAM_ATTR_ITEM_PORT_MAX - 1,
  86 };
  87 
  88 enum {
  89         TEAM_ATTR_PORT_UNSPEC,
  90         TEAM_ATTR_PORT_IFINDEX,         /* u32 */
  91         TEAM_ATTR_PORT_CHANGED,         /* flag */
  92         TEAM_ATTR_PORT_LINKUP,          /* flag */
  93         TEAM_ATTR_PORT_SPEED,           /* u32 */
  94         TEAM_ATTR_PORT_DUPLEX,          /* u8 */
  95         TEAM_ATTR_PORT_REMOVED,         /* flag */
  96 
  97         __TEAM_ATTR_PORT_MAX,
  98         TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1,
  99 };
 100 
 101 /*
 102  * NETLINK_GENERIC related info
 103  */
 104 #define TEAM_GENL_NAME "team"
 105 #define TEAM_GENL_VERSION 0x1
 106 #define TEAM_GENL_CHANGE_EVENT_MC_GRP_NAME "change_event"
 107 
 108 #endif /* _UAPI_LINUX_IF_TEAM_H_ */

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