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
14
15#include <linux/types.h>
16#include <linux/netlink.h>
17
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;
29
30 __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;
36
37 __u32 tx_aborted_errors;
38 __u32 tx_carrier_errors;
39 __u32 tx_fifo_errors;
40 __u32 tx_heartbeat_errors;
41 __u32 tx_window_errors;
42
43 __u32 rx_compressed;
44 __u32 tx_compressed;
45};
46
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;
58
59 __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;
65
66 __u64 tx_aborted_errors;
67 __u64 tx_carrier_errors;
68 __u64 tx_fifo_errors;
69 __u64 tx_heartbeat_errors;
70 __u64 tx_window_errors;
71
72 __u64 rx_compressed;
73 __u64 tx_compressed;
74};
75
76struct 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};
84
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};
123
124#define IFLA_MAX (__IFLA_MAX - 1)
125
126#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
127#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
128
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};
139
140#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
141
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};
148
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};
156
157#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
158
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};
167
168#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
169
170struct ifla_vlan_flags {
171 __u32 flags;
172 __u32 mask;
173};
174
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};
180
181#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
182
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};
187
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800188enum {
189 IFLA_MACVLAN_UNSPEC,
190 IFLA_MACVLAN_MODE,
191 __IFLA_MACVLAN_MAX,
192};
193
194#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
195
196enum macvlan_mode {
197 MACVLAN_MODE_PRIVATE = 1,
198 MACVLAN_MODE_VEPA = 2,
199 MACVLAN_MODE_BRIDGE = 4,
200};
201
202enum {
203 IFLA_VF_INFO_UNSPEC,
204 IFLA_VF_INFO,
205 __IFLA_VF_INFO_MAX,
206};
207
208#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
209
210enum {
211 IFLA_VF_UNSPEC,
212 IFLA_VF_MAC,
213 IFLA_VF_VLAN,
214 IFLA_VF_TX_RATE,
215 __IFLA_VF_MAX,
216};
217
218#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
219
220struct ifla_vf_mac {
221 __u32 vf;
222 __u8 mac[32];
223};
224
225struct ifla_vf_vlan {
226 __u32 vf;
227 __u32 vlan;
228 __u32 qos;
229};
230
231struct ifla_vf_tx_rate {
232 __u32 vf;
233 __u32 rate;
234};
235
236struct ifla_vf_info {
237 __u32 vf;
238 __u8 mac[32];
239 __u32 vlan;
240 __u32 qos;
241 __u32 tx_rate;
242};
243
244enum {
245 IFLA_VF_PORT_UNSPEC,
246 IFLA_VF_PORT,
247 __IFLA_VF_PORT_MAX,
248};
249
250#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
251
252enum {
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};
263
264#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
265
266#define PORT_PROFILE_MAX 40
267#define PORT_UUID_MAX 16
268#define PORT_SELF_VF -1
269
270enum {
271 PORT_REQUEST_PREASSOCIATE = 0,
272 PORT_REQUEST_PREASSOCIATE_RR,
273 PORT_REQUEST_ASSOCIATE,
274 PORT_REQUEST_DISASSOCIATE,
275};
276
277enum {
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,
285
286 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};
293
294struct ifla_port_vsi {
295 __u8 vsi_mgr_id;
296 __u8 vsi_type_id[3];
297 __u8 vsi_type_version;
298 __u8 pad[3];
299};
300
San Mehat91638722010-04-06 18:49:49 -0700301#endif
Dmitry Shmidtce69c5e2011-01-06 15:30:35 -0800302