1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_LINUX_IF_LINK_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_LINUX_IF_LINK_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/netlink.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rtnl_link_stats {
24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_packets;
25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_packets;
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_bytes;
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_bytes;
28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_errors;
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_errors;
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_dropped;
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_dropped;
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 multicast;
33d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 collisions;
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_length_errors;
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_over_errors;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_crc_errors;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_frame_errors;
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_fifo_errors;
39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_missed_errors;
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_aborted_errors;
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_carrier_errors;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_fifo_errors;
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_heartbeat_errors;
44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_window_errors;
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rx_compressed;
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tx_compressed;
47106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 rx_nohandler;
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rtnl_link_stats64 {
50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_packets;
51106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 tx_packets;
52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_bytes;
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_bytes;
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_errors;
55106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 tx_errors;
56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_dropped;
57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_dropped;
58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 multicast;
59106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 collisions;
60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_length_errors;
61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_over_errors;
62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_crc_errors;
63106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 rx_frame_errors;
64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_fifo_errors;
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 rx_missed_errors;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_aborted_errors;
67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 tx_carrier_errors;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_fifo_errors;
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_heartbeat_errors;
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_window_errors;
71106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 rx_compressed;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tx_compressed;
73106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 rx_nohandler;
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct rtnl_link_ifmap {
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 mem_start;
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 mem_end;
78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 base_addr;
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 irq;
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 dma;
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 port;
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_UNSPEC,
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_ADDRESS,
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BROADCAST,
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IFNAME,
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MTU,
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_LINK,
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_QDISC,
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_STATS,
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_COST,
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_COST IFLA_COST
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PRIORITY,
95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_PRIORITY IFLA_PRIORITY
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MASTER,
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_MASTER IFLA_MASTER
98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_WIRELESS,
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_WIRELESS IFLA_WIRELESS
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PROTINFO,
101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_PROTINFO IFLA_PROTINFO
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_TXQLEN,
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_TXQLEN IFLA_TXQLEN
104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MAP,
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_MAP IFLA_MAP
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_WEIGHT,
107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_WEIGHT IFLA_WEIGHT
108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_OPERSTATE,
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_LINKMODE,
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_LINKINFO,
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_LINKINFO IFLA_LINKINFO
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_NET_NS_PID,
113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IFALIAS,
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_NUM_VF,
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VFINFO_LIST,
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_STATS64,
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_PORTS,
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_SELF,
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_AF_SPEC,
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_GROUP,
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_NET_NS_FD,
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_EXT_MASK,
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PROMISCUITY,
124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_PROMISCUITY IFLA_PROMISCUITY
125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_NUM_TX_QUEUES,
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_NUM_RX_QUEUES,
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_CARRIER,
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PHYS_PORT_ID,
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_CARRIER_CHANGES,
13005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_PHYS_SWITCH_ID,
13105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_LINK_NETNSID,
13205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_PHYS_PORT_NAME,
13305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_PROTO_DOWN,
134106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GSO_MAX_SEGS,
135106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GSO_MAX_SIZE,
136106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_PAD,
13749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_XDP,
1381308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT,
139934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris  IFLA_NEW_NETNSID,
140934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris  IFLA_IF_NETNSID,
141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_MAX
14249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris};
143106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_MAX (__IFLA_MAX - 1)
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
14649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisenum {
147106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_INET_UNSPEC,
148d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET_CONF,
149d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_INET_MAX,
15049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris};
151106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
152ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
153d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET6_UNSPEC,
15449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_INET6_FLAGS,
155106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_INET6_CONF,
156d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET6_STATS,
157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET6_MCAST,
15849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_INET6_CACHEINFO,
159106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_INET6_ICMP6STATS,
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET6_TOKEN,
161d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INET6_ADDR_GEN_MODE,
16249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  __IFLA_INET6_MAX
163106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
16582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum in6_addr_gen_mode {
16649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IN6_ADDR_GEN_MODE_EUI64,
167106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IN6_ADDR_GEN_MODE_NONE,
16805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
169106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IN6_ADDR_GEN_MODE_RANDOM,
17049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris};
17182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum {
172d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BR_UNSPEC,
17305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_FORWARD_DELAY,
17449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_HELLO_TIME,
175d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BR_MAX_AGE,
17605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_AGEING_TIME,
17705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_STP_STATE,
17849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_PRIORITY,
17905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_VLAN_FILTERING,
18005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_VLAN_PROTOCOL,
18105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_GROUP_FWD_MASK,
18249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_ROOT_ID,
18305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_BRIDGE_ID,
18405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_ROOT_PORT,
18505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_ROOT_PATH_COST,
18649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_TOPOLOGY_CHANGE,
18705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
18805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_HELLO_TIMER,
18905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_TCN_TIMER,
19049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_TOPOLOGY_CHANGE_TIMER,
19105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_GC_TIMER,
19205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_GROUP_ADDR,
19305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_FDB_FLUSH,
19449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_MCAST_ROUTER,
19505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_SNOOPING,
19605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_QUERY_USE_IFADDR,
19705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_QUERIER,
19849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_MCAST_HASH_ELASTICITY,
19905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_HASH_MAX,
20005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_LAST_MEMBER_CNT,
20105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_STARTUP_QUERY_CNT,
20249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_MCAST_LAST_MEMBER_INTVL,
20305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_MEMBERSHIP_INTVL,
20405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_QUERIER_INTVL,
20505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_QUERY_INTVL,
20649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
20705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
20805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_NF_CALL_IPTABLES,
20905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_NF_CALL_IP6TABLES,
21049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_NF_CALL_ARPTABLES,
21105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BR_VLAN_DEFAULT_PVID,
212106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BR_PAD,
213106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BR_VLAN_STATS_ENABLED,
21449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_BR_MCAST_STATS_ENABLED,
21548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  IFLA_BR_MCAST_IGMP_VERSION,
21648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  IFLA_BR_MCAST_MLD_VERSION,
21749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  __IFLA_BR_MAX,
21805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
21982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
22005d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct ifla_bridge_id {
22105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u8 prio[2];
22205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u8 addr[6];
22305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
224ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
225d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  BRIDGE_MODE_UNSPEC,
22605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  BRIDGE_MODE_HAIRPIN,
22782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
228ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
229d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_UNSPEC,
23005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_STATE,
231d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_PRIORITY,
232d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_COST,
233d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_MODE,
23405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_GUARD,
235d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_PROTECT,
236d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_FAST_LEAVE,
237d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BRPORT_LEARNING,
23805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_UNICAST_FLOOD,
23905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_PROXYARP,
24005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_LEARNING_SYNC,
24105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_PROXYARP_WIFI,
24205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_ROOT_ID,
24305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_BRIDGE_ID,
24405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_DESIGNATED_PORT,
24505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_DESIGNATED_COST,
24605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_ID,
24705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_NO,
24805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
24905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_CONFIG_PENDING,
25005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_MESSAGE_AGE_TIMER,
25105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_FORWARD_DELAY_TIMER,
25205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_HOLD_TIMER,
25305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_FLUSH,
25405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BRPORT_MULTICAST_ROUTER,
255106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BRPORT_PAD,
2566a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_BRPORT_MCAST_FLOOD,
257525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  IFLA_BRPORT_MCAST_TO_UCAST,
258525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  IFLA_BRPORT_VLAN_TUNNEL,
259525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  IFLA_BRPORT_BCAST_FLOOD,
260934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris  IFLA_BRPORT_GROUP_FWD_MASK,
261934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris  IFLA_BRPORT_NEIGH_SUPPRESS,
262d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_BRPORT_MAX
263ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
264106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
2656a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ifla_cacheinfo {
266d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 max_reasm_len;
267d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tstamp;
268106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 reachable_time;
2696a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 retrans_time;
27082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
271ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
272106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_INFO_UNSPEC,
2736a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_INFO_KIND,
274d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INFO_DATA,
275d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_INFO_XSTATS,
276106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_INFO_SLAVE_KIND,
2776a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_INFO_SLAVE_DATA,
278d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_INFO_MAX,
279ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
280106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
2816a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisenum {
282d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VLAN_UNSPEC,
283d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VLAN_ID,
284106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VLAN_FLAGS,
2856a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VLAN_EGRESS_QOS,
286d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VLAN_INGRESS_QOS,
287d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VLAN_PROTOCOL,
288106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_VLAN_MAX,
2896a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
29082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
291ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ifla_vlan_flags {
292106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 flags;
2936a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 mask;
29482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
295ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
296106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VLAN_QOS_UNSPEC,
2976a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VLAN_QOS_MAPPING,
298d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VLAN_QOS_MAX
299ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
300106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
3016a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ifla_vlan_qos_mapping {
302d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 from;
303d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 to;
304106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
3056a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisenum {
306d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MACVLAN_UNSPEC,
307d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MACVLAN_MODE,
308106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACVLAN_FLAGS,
3096a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_MACVLAN_MACADDR_MODE,
310d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MACVLAN_MACADDR,
311d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_MACVLAN_MACADDR_DATA,
312106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACVLAN_MACADDR_COUNT,
3136a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __IFLA_MACVLAN_MAX,
31482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
315ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
316106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum macvlan_mode {
3176a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  MACVLAN_MODE_PRIVATE = 1,
318d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  MACVLAN_MODE_VEPA = 2,
319d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  MACVLAN_MODE_BRIDGE = 4,
320106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACVLAN_MODE_PASSTHRU = 8,
3216a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  MACVLAN_MODE_SOURCE = 16,
32282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
32382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum macvlan_macaddr_mode {
324106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACVLAN_MACADDR_ADD,
3256a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  MACVLAN_MACADDR_DEL,
326d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  MACVLAN_MACADDR_FLUSH,
327d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  MACVLAN_MACADDR_SET,
328106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
3296a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define MACVLAN_FLAG_NOPROMISC 1
33005d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum {
33105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VRF_UNSPEC,
332106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VRF_TABLE,
3336a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __IFLA_VRF_MAX
33405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
33505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
336106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
3376a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VRF_PORT_UNSPEC,
338106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VRF_PORT_TABLE,
339106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_VRF_PORT_MAX
340106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
3416a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
34205d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum {
343106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_UNSPEC,
344106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_SCI,
3456a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_MACSEC_PORT,
346106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_ICV_LEN,
347106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_CIPHER_SUITE,
348106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_WINDOW,
3496a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_MACSEC_ENCODING_SA,
350106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_ENCRYPT,
351106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_PROTECT,
352106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_INC_SCI,
3536a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_MACSEC_ES,
354106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_SCB,
355106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_REPLAY_PROTECT,
356106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_MACSEC_VALIDATION,
3576a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_MACSEC_PAD,
358106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_MACSEC_MAX,
359106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
360106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
3616a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisenum macsec_validation_type {
362106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACSEC_VALIDATE_DISABLED = 0,
363106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACSEC_VALIDATE_CHECK = 1,
364106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACSEC_VALIDATE_STRICT = 2,
3656a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __MACSEC_VALIDATE_END,
366106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
367106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
368106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
3696a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_IPVLAN_UNSPEC,
37005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_IPVLAN_MODE,
371934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris  IFLA_IPVLAN_FLAGS,
37205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __IFLA_IPVLAN_MAX
373106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
3746a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
37505d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum ipvlan_mode {
37605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IPVLAN_MODE_L2 = 0,
377106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IPVLAN_MODE_L3,
3786a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IPVLAN_MODE_L3S,
3796a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IPVLAN_MODE_MAX
38005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
381934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris#define IPVLAN_F_PRIVATE 0x01
382934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris#define IPVLAN_F_VEPA 0x02
383ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
384106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_UNSPEC,
385d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_ID,
386d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_GROUP,
387d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_LINK,
388106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_LOCAL,
389d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_TTL,
390d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_TOS,
391d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_LEARNING,
392106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_AGEING,
393d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_LIMIT,
394d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_PORT_RANGE,
395d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_PROXY,
396106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_RSC,
397d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_L2MISS,
398d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_L3MISS,
399d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_PORT,
400106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_GROUP6,
401d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_LOCAL6,
402d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_UDP_CSUM,
403d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
404106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
40505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VXLAN_REMCSUM_TX,
40605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VXLAN_REMCSUM_RX,
40705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VXLAN_GBP,
408106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_REMCSUM_NOPARTIAL,
40905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VXLAN_COLLECT_METADATA,
410106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_LABEL,
411106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VXLAN_GPE,
412d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VXLAN_MAX
413655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
414655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
415655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ifla_vxlan_port_range {
416d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 low;
417d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 high;
41805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
41905d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum {
42005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_UNSPEC,
42105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_ID,
42205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_REMOTE,
42305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_TTL,
42405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_TOS,
42505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_PORT,
42605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_COLLECT_METADATA,
42705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_GENEVE_REMOTE6,
428106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GENEVE_UDP_CSUM,
429106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
430106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
431106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GENEVE_LABEL,
43205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __IFLA_GENEVE_MAX
43338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
43405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
435106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
436106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_PPP_UNSPEC,
437106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_PPP_DEV_FD,
438106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_PPP_MAX
439106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
440106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
441525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisenum ifla_gtp_role {
442525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  GTP_ROLE_GGSN = 0,
443525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  GTP_ROLE_SGSN,
444525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris};
445106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
446106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GTP_UNSPEC,
447106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GTP_FD0,
448106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GTP_FD1,
449106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_GTP_PDP_HASHSIZE,
450525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  IFLA_GTP_ROLE,
451106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_GTP_MAX,
452106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
453106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
45438062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum {
455d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_UNSPEC,
456d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_MODE,
457106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_ACTIVE_SLAVE,
458d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_MIIMON,
459d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_UPDELAY,
460d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_DOWNDELAY,
461106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_USE_CARRIER,
462d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_ARP_INTERVAL,
463d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_ARP_IP_TARGET,
464d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_ARP_VALIDATE,
465106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_ARP_ALL_TARGETS,
466d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_PRIMARY,
467d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_PRIMARY_RESELECT,
468d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_FAIL_OVER_MAC,
469106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_XMIT_HASH_POLICY,
470d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_RESEND_IGMP,
471d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_NUM_PEER_NOTIF,
472d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_ALL_SLAVES_ACTIVE,
473106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_MIN_LINKS,
474d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_LP_INTERVAL,
475d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_PACKETS_PER_SLAVE,
476d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_LACP_RATE,
477106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_AD_SELECT,
478d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO,
47905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BOND_AD_ACTOR_SYS_PRIO,
48005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BOND_AD_USER_PORT_KEY,
481106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_AD_ACTOR_SYSTEM,
48205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BOND_TLB_DYNAMIC_LB,
483d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_BOND_MAX,
484655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
485106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
48638062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum {
487d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO_UNSPEC,
488d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO_AGGREGATOR,
489106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_AD_INFO_NUM_PORTS,
490d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO_ACTOR_KEY,
491d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO_PARTNER_KEY,
492d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_AD_INFO_PARTNER_MAC,
493106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_BOND_AD_INFO_MAX,
49438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
49538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
49638062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum {
497106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_SLAVE_UNSPEC,
498d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_SLAVE_STATE,
499d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_SLAVE_MII_STATUS,
500d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
501106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_SLAVE_PERM_HWADDR,
502d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_SLAVE_QUEUE_ID,
503d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
50405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
505106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
50605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __IFLA_BOND_SLAVE_MAX,
50738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
50838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
509106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
51005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_INFO_UNSPEC,
511d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_INFO,
512d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VF_INFO_MAX,
513106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
51405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
515655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
516d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_UNSPEC,
517106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_MAC,
51805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_VLAN,
519d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_TX_RATE,
520d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_SPOOFCHK,
521106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_LINK_STATE,
522d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_RATE,
52305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_RSS_QUERY_EN,
52405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS,
525106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_TRUST,
526106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_IB_NODE_GUID,
527106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_IB_PORT_GUID,
5286a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VF_VLAN_LIST,
529d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VF_MAX,
53038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
5318cb52b056cfc302e05304d847c4228dff15715cfElliott Hughes#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
532655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ifla_vf_mac {
533d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
534d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 mac[32];
5358cb52b056cfc302e05304d847c4228dff15715cfElliott Hughes};
536655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ifla_vf_vlan {
5376a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 vf;
5386a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 vlan;
5396a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 qos;
5406a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
5416a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisenum {
5426a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VF_VLAN_INFO_UNSPEC,
5436a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_VF_VLAN_INFO,
5446a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __IFLA_VF_VLAN_INFO_MAX,
5456a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
5466a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
5476a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define MAX_VLAN_LIST_LEN 1
5486a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ifla_vf_vlan_info {
549d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
550d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vlan;
551d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 qos;
5526a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __be16 vlan_proto;
553655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
554ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ifla_vf_tx_rate {
555d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
556d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 rate;
557655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
558ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ifla_vf_rate {
559d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
560d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 min_tx_rate;
561d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 max_tx_rate;
562ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
563ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ifla_vf_spoofchk {
564d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
565d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 setting;
566106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
567106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct ifla_vf_guid {
568106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 vf;
569106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 guid;
570655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
571655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
572d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_LINK_STATE_AUTO,
573d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_LINK_STATE_ENABLE,
574d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_LINK_STATE_DISABLE,
575d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VF_LINK_STATE_MAX,
57638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
57738062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct ifla_vf_link_state {
578d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vf;
579d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 link_state;
58038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
58105d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct ifla_vf_rss_query_en {
58205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 vf;
58305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 setting;
58405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
58538062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum {
58605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_RX_PACKETS,
58705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_TX_PACKETS,
58805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_RX_BYTES,
58905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_TX_BYTES,
59005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_BROADCAST,
59105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  IFLA_VF_STATS_MULTICAST,
592106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_VF_STATS_PAD,
59305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __IFLA_VF_STATS_MAX,
59405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
59505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
59605d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct ifla_vf_trust {
59705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 vf;
59805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 setting;
59905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
60005d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum {
601d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_PORT_UNSPEC,
602d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_VF_PORT,
603d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_VF_PORT_MAX,
604655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
605655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
606655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
607d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_UNSPEC,
608d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_VF,
609d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_PROFILE,
610d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_VSI_TYPE,
611d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_INSTANCE_UUID,
612d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_HOST_UUID,
613d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_REQUEST,
614d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_PORT_RESPONSE,
615d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_PORT_MAX,
616655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
617655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
618655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_PROFILE_MAX 40
619655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_UUID_MAX 16
620d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define PORT_SELF_VF - 1
621655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
622d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_REQUEST_PREASSOCIATE = 0,
623d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_REQUEST_PREASSOCIATE_RR,
624d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_REQUEST_ASSOCIATE,
625d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_REQUEST_DISASSOCIATE,
626655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
627655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
628d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_SUCCESS = 0,
629d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_INVALID_FORMAT,
630d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
631d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_UNUSED_VTID,
632d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_VTID_VIOLATION,
633d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
634d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_VDP_RESPONSE_OUT_OF_SYNC,
635d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
636d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_INPROGRESS,
637d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_INVALID,
638d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_BADSTATE,
639d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
640d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  PORT_PROFILE_RESPONSE_ERROR,
641655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
642655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ifla_port_vsi {
643d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 vsi_mgr_id;
644d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 vsi_type_id[3];
645d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 vsi_type_version;
646d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 pad[3];
647655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
648655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
649d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IPOIB_UNSPEC,
650d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IPOIB_PKEY,
651d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IPOIB_MODE,
652d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_IPOIB_UMCAST,
653d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_IPOIB_MAX
654655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
655655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
656d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPOIB_MODE_DATAGRAM = 0,
657d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPOIB_MODE_CONNECTED = 1,
658655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
659655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
66038062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum {
661d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_UNSPEC,
662d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_SLAVE1,
663d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_SLAVE2,
664d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_MULTICAST_SPEC,
665d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_SUPERVISION_ADDR,
666d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IFLA_HSR_SEQ_NR,
667106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_HSR_VERSION,
668d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __IFLA_HSR_MAX,
66938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
67038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
671106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct if_stats_msg {
672106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u8 family;
673106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u8 pad1;
674106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u16 pad2;
675106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ifindex;
676106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 filter_mask;
677106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
678106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
679106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_STATS_UNSPEC,
680106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_STATS_LINK_64,
681106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  IFLA_STATS_LINK_XSTATS,
68249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_STATS_LINK_XSTATS_SLAVE,
6836a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_STATS_LINK_OFFLOAD_XSTATS,
684525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  IFLA_STATS_AF_SPEC,
685106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __IFLA_STATS_MAX,
6866a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
687106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
688106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
689106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisenum {
6906a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  LINK_XSTATS_TYPE_UNSPEC,
691106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  LINK_XSTATS_TYPE_BRIDGE,
692106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __LINK_XSTATS_TYPE_MAX
693106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
694106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
6956a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisenum {
6966a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_OFFLOAD_XSTATS_UNSPEC,
6976a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  IFLA_OFFLOAD_XSTATS_CPU_HIT,
6986a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __IFLA_OFFLOAD_XSTATS_MAX
6996a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
7006a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
70148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
702525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#define XDP_FLAGS_SKB_MODE (1U << 1)
703525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#define XDP_FLAGS_DRV_MODE (1U << 2)
7041308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define XDP_FLAGS_HW_MODE (1U << 3)
7051308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE)
7061308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_MODES)
707525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisenum {
708525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  XDP_ATTACHED_NONE = 0,
709525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  XDP_ATTACHED_DRV,
710525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  XDP_ATTACHED_SKB,
7111308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  XDP_ATTACHED_HW,
712525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris};
71349f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisenum {
71449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_XDP_UNSPEC,
71549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_XDP_FD,
71649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris  IFLA_XDP_ATTACHED,
71748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  IFLA_XDP_FLAGS,
7181308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_XDP_PROG_ID,
71948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  __IFLA_XDP_MAX,
72049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris};
72149f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
7221308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisenum {
7231308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_NONE,
7241308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_REBOOT,
7251308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_FEATURES,
7261308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_BONDING_FAILOVER,
7271308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_NOTIFY_PEERS,
7281308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_IGMP_RESEND,
7291308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  IFLA_EVENT_BONDING_OPTIONS,
7301308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris};
731106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
732