linux-headers (unknown)

(root)/
include/
linux/
if_team.h
       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 _LINUX_IF_TEAM_H_
      13  #define _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 /* _LINUX_IF_TEAM_H_ */