blob: 4b83760c86dfc533c3a4236140f1714f61b27d88 [file] [log] [blame]
San Mehat91638722010-04-06 18:49:49 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _LINUX_IF_LINK_H
13#define _LINUX_IF_LINK_H
Ben Cheng4b29af02012-03-07 16:14:53 -080014
San Mehat91638722010-04-06 18:49:49 -070015#include <linux/types.h>
16#include <linux/netlink.h>
Ben Cheng4b29af02012-03-07 16:14:53 -080017
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080018struct rtnl_link_stats {
San Mehat91638722010-04-06 18:49:49 -070019 __u32 rx_packets;
20 __u32 tx_packets;
21 __u32 rx_bytes;
22 __u32 tx_bytes;
23 __u32 rx_errors;
24 __u32 tx_errors;
25 __u32 rx_dropped;
26 __u32 tx_dropped;
27 __u32 multicast;
28 __u32 collisions;
Ben Cheng4b29af02012-03-07 16:14:53 -080029
San Mehat91638722010-04-06 18:49:49 -070030 __u32 rx_length_errors;
31 __u32 rx_over_errors;
32 __u32 rx_crc_errors;
33 __u32 rx_frame_errors;
34 __u32 rx_fifo_errors;
35 __u32 rx_missed_errors;
Ben Cheng4b29af02012-03-07 16:14:53 -080036
San Mehat91638722010-04-06 18:49:49 -070037 __u32 tx_aborted_errors;
38 __u32 tx_carrier_errors;
39 __u32 tx_fifo_errors;
40 __u32 tx_heartbeat_errors;
41 __u32 tx_window_errors;
Ben Cheng4b29af02012-03-07 16:14:53 -080042
San Mehat91638722010-04-06 18:49:49 -070043 __u32 rx_compressed;
44 __u32 tx_compressed;
45};
Ben Cheng4b29af02012-03-07 16:14:53 -080046
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080047struct rtnl_link_stats64 {
48 __u64 rx_packets;
49 __u64 tx_packets;
50 __u64 rx_bytes;
51 __u64 tx_bytes;
52 __u64 rx_errors;
53 __u64 tx_errors;
54 __u64 rx_dropped;
55 __u64 tx_dropped;
56 __u64 multicast;
57 __u64 collisions;
Ben Cheng4b29af02012-03-07 16:14:53 -080058
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080059 __u64 rx_length_errors;
60 __u64 rx_over_errors;
61 __u64 rx_crc_errors;
62 __u64 rx_frame_errors;
63 __u64 rx_fifo_errors;
64 __u64 rx_missed_errors;
Ben Cheng4b29af02012-03-07 16:14:53 -080065
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080066 __u64 tx_aborted_errors;
67 __u64 tx_carrier_errors;
68 __u64 tx_fifo_errors;
69 __u64 tx_heartbeat_errors;
70 __u64 tx_window_errors;
Ben Cheng4b29af02012-03-07 16:14:53 -080071
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080072 __u64 rx_compressed;
73 __u64 tx_compressed;
74};
Ben Cheng4b29af02012-03-07 16:14:53 -080075
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080076struct rtnl_link_ifmap {
San Mehat91638722010-04-06 18:49:49 -070077 __u64 mem_start;
78 __u64 mem_end;
79 __u64 base_addr;
80 __u16 irq;
81 __u8 dma;
82 __u8 port;
83};
Ben Cheng4b29af02012-03-07 16:14:53 -080084
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -080085enum {
San Mehat91638722010-04-06 18:49:49 -070086 IFLA_UNSPEC,
87 IFLA_ADDRESS,
88 IFLA_BROADCAST,
89 IFLA_IFNAME,
90 IFLA_MTU,
91 IFLA_LINK,
92 IFLA_QDISC,
93 IFLA_STATS,
94 IFLA_COST,
95#define IFLA_COST IFLA_COST
96 IFLA_PRIORITY,
97#define IFLA_PRIORITY IFLA_PRIORITY
98 IFLA_MASTER,
99#define IFLA_MASTER IFLA_MASTER
100 IFLA_WIRELESS,
101#define IFLA_WIRELESS IFLA_WIRELESS
102 IFLA_PROTINFO,
103#define IFLA_PROTINFO IFLA_PROTINFO
104 IFLA_TXQLEN,
105#define IFLA_TXQLEN IFLA_TXQLEN
106 IFLA_MAP,
107#define IFLA_MAP IFLA_MAP
108 IFLA_WEIGHT,
109#define IFLA_WEIGHT IFLA_WEIGHT
110 IFLA_OPERSTATE,
111 IFLA_LINKMODE,
112 IFLA_LINKINFO,
113#define IFLA_LINKINFO IFLA_LINKINFO
114 IFLA_NET_NS_PID,
115 IFLA_IFALIAS,
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800116 IFLA_NUM_VF,
117 IFLA_VFINFO_LIST,
118 IFLA_STATS64,
119 IFLA_VF_PORTS,
120 IFLA_PORT_SELF,
San Mehat91638722010-04-06 18:49:49 -0700121 __IFLA_MAX
122};
Ben Cheng4b29af02012-03-07 16:14:53 -0800123
San Mehat91638722010-04-06 18:49:49 -0700124#define IFLA_MAX (__IFLA_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800125
San Mehat91638722010-04-06 18:49:49 -0700126#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
127#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
Ben Cheng4b29af02012-03-07 16:14:53 -0800128
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800129enum {
San Mehat91638722010-04-06 18:49:49 -0700130 IFLA_INET6_UNSPEC,
131 IFLA_INET6_FLAGS,
132 IFLA_INET6_CONF,
133 IFLA_INET6_STATS,
134 IFLA_INET6_MCAST,
135 IFLA_INET6_CACHEINFO,
136 IFLA_INET6_ICMP6STATS,
137 __IFLA_INET6_MAX
138};
Ben Cheng4b29af02012-03-07 16:14:53 -0800139
San Mehat91638722010-04-06 18:49:49 -0700140#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800141
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800142struct ifla_cacheinfo {
San Mehat91638722010-04-06 18:49:49 -0700143 __u32 max_reasm_len;
144 __u32 tstamp;
145 __u32 reachable_time;
146 __u32 retrans_time;
147};
Ben Cheng4b29af02012-03-07 16:14:53 -0800148
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800149enum {
San Mehat91638722010-04-06 18:49:49 -0700150 IFLA_INFO_UNSPEC,
151 IFLA_INFO_KIND,
152 IFLA_INFO_DATA,
153 IFLA_INFO_XSTATS,
154 __IFLA_INFO_MAX,
155};
Ben Cheng4b29af02012-03-07 16:14:53 -0800156
San Mehat91638722010-04-06 18:49:49 -0700157#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800158
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800159enum {
San Mehat91638722010-04-06 18:49:49 -0700160 IFLA_VLAN_UNSPEC,
161 IFLA_VLAN_ID,
162 IFLA_VLAN_FLAGS,
163 IFLA_VLAN_EGRESS_QOS,
164 IFLA_VLAN_INGRESS_QOS,
165 __IFLA_VLAN_MAX,
166};
Ben Cheng4b29af02012-03-07 16:14:53 -0800167
San Mehat91638722010-04-06 18:49:49 -0700168#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800169
San Mehat91638722010-04-06 18:49:49 -0700170struct ifla_vlan_flags {
171 __u32 flags;
172 __u32 mask;
173};
Ben Cheng4b29af02012-03-07 16:14:53 -0800174
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800175enum {
San Mehat91638722010-04-06 18:49:49 -0700176 IFLA_VLAN_QOS_UNSPEC,
177 IFLA_VLAN_QOS_MAPPING,
178 __IFLA_VLAN_QOS_MAX
179};
Ben Cheng4b29af02012-03-07 16:14:53 -0800180
San Mehat91638722010-04-06 18:49:49 -0700181#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800182
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800183struct ifla_vlan_qos_mapping {
San Mehat91638722010-04-06 18:49:49 -0700184 __u32 from;
185 __u32 to;
186};
Ben Cheng4b29af02012-03-07 16:14:53 -0800187
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800188enum {
189 IFLA_MACVLAN_UNSPEC,
190 IFLA_MACVLAN_MODE,
191 __IFLA_MACVLAN_MAX,
192};
Ben Cheng4b29af02012-03-07 16:14:53 -0800193
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800194#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800195
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800196enum macvlan_mode {
197 MACVLAN_MODE_PRIVATE = 1,
198 MACVLAN_MODE_VEPA = 2,
199 MACVLAN_MODE_BRIDGE = 4,
200};
Ben Cheng4b29af02012-03-07 16:14:53 -0800201
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800202enum {
203 IFLA_VF_INFO_UNSPEC,
204 IFLA_VF_INFO,
205 __IFLA_VF_INFO_MAX,
206};
Ben Cheng4b29af02012-03-07 16:14:53 -0800207
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800208#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800209
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800210enum {
211 IFLA_VF_UNSPEC,
212 IFLA_VF_MAC,
213 IFLA_VF_VLAN,
214 IFLA_VF_TX_RATE,
215 __IFLA_VF_MAX,
216};
Ben Cheng4b29af02012-03-07 16:14:53 -0800217
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800218#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800219
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800220struct ifla_vf_mac {
221 __u32 vf;
222 __u8 mac[32];
223};
Ben Cheng4b29af02012-03-07 16:14:53 -0800224
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800225struct ifla_vf_vlan {
226 __u32 vf;
227 __u32 vlan;
228 __u32 qos;
229};
Ben Cheng4b29af02012-03-07 16:14:53 -0800230
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800231struct ifla_vf_tx_rate {
232 __u32 vf;
233 __u32 rate;
234};
Ben Cheng4b29af02012-03-07 16:14:53 -0800235
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800236struct ifla_vf_info {
237 __u32 vf;
238 __u8 mac[32];
239 __u32 vlan;
240 __u32 qos;
241 __u32 tx_rate;
242};
Ben Cheng4b29af02012-03-07 16:14:53 -0800243
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800244enum {
245 IFLA_VF_PORT_UNSPEC,
246 IFLA_VF_PORT,
247 __IFLA_VF_PORT_MAX,
248};
Ben Cheng4b29af02012-03-07 16:14:53 -0800249
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800250#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800251
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800252enum {
253 IFLA_PORT_UNSPEC,
254 IFLA_PORT_VF,
255 IFLA_PORT_PROFILE,
256 IFLA_PORT_VSI_TYPE,
257 IFLA_PORT_INSTANCE_UUID,
258 IFLA_PORT_HOST_UUID,
259 IFLA_PORT_REQUEST,
260 IFLA_PORT_RESPONSE,
261 __IFLA_PORT_MAX,
262};
Ben Cheng4b29af02012-03-07 16:14:53 -0800263
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800264#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
Ben Cheng4b29af02012-03-07 16:14:53 -0800265
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800266#define PORT_PROFILE_MAX 40
267#define PORT_UUID_MAX 16
268#define PORT_SELF_VF -1
Ben Cheng4b29af02012-03-07 16:14:53 -0800269
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800270enum {
271 PORT_REQUEST_PREASSOCIATE = 0,
272 PORT_REQUEST_PREASSOCIATE_RR,
273 PORT_REQUEST_ASSOCIATE,
274 PORT_REQUEST_DISASSOCIATE,
275};
Ben Cheng4b29af02012-03-07 16:14:53 -0800276
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800277enum {
278 PORT_VDP_RESPONSE_SUCCESS = 0,
279 PORT_VDP_RESPONSE_INVALID_FORMAT,
280 PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
281 PORT_VDP_RESPONSE_UNUSED_VTID,
282 PORT_VDP_RESPONSE_VTID_VIOLATION,
283 PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
284 PORT_VDP_RESPONSE_OUT_OF_SYNC,
Ben Cheng4b29af02012-03-07 16:14:53 -0800285
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800286 PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
287 PORT_PROFILE_RESPONSE_INPROGRESS,
288 PORT_PROFILE_RESPONSE_INVALID,
289 PORT_PROFILE_RESPONSE_BADSTATE,
290 PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
291 PORT_PROFILE_RESPONSE_ERROR,
292};
Ben Cheng4b29af02012-03-07 16:14:53 -0800293
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800294struct ifla_port_vsi {
295 __u8 vsi_mgr_id;
296 __u8 vsi_type_id[3];
297 __u8 vsi_type_version;
298 __u8 pad[3];
299};
Ben Cheng4b29af02012-03-07 16:14:53 -0800300
San Mehat91638722010-04-06 18:49:49 -0700301#endif
Ben Cheng4b29af02012-03-07 16:14:53 -0800302