if_link.h revision 96c1db7b9d601c31d103389cac074a6cce0d7633
1/****************************************************************************
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 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_IF_LINK_H
20#define _UAPI_LINUX_IF_LINK_H
21#include <linux/types.h>
22#include <linux/netlink.h>
23struct rtnl_link_stats {
24  __u32 rx_packets;
25  __u32 tx_packets;
26  __u32 rx_bytes;
27  __u32 tx_bytes;
28  __u32 rx_errors;
29  __u32 tx_errors;
30  __u32 rx_dropped;
31  __u32 tx_dropped;
32  __u32 multicast;
33  __u32 collisions;
34  __u32 rx_length_errors;
35  __u32 rx_over_errors;
36  __u32 rx_crc_errors;
37  __u32 rx_frame_errors;
38  __u32 rx_fifo_errors;
39  __u32 rx_missed_errors;
40  __u32 tx_aborted_errors;
41  __u32 tx_carrier_errors;
42  __u32 tx_fifo_errors;
43  __u32 tx_heartbeat_errors;
44  __u32 tx_window_errors;
45  __u32 rx_compressed;
46  __u32 tx_compressed;
47  __u32 rx_nohandler;
48};
49struct rtnl_link_stats64 {
50  __u64 rx_packets;
51  __u64 tx_packets;
52  __u64 rx_bytes;
53  __u64 tx_bytes;
54  __u64 rx_errors;
55  __u64 tx_errors;
56  __u64 rx_dropped;
57  __u64 tx_dropped;
58  __u64 multicast;
59  __u64 collisions;
60  __u64 rx_length_errors;
61  __u64 rx_over_errors;
62  __u64 rx_crc_errors;
63  __u64 rx_frame_errors;
64  __u64 rx_fifo_errors;
65  __u64 rx_missed_errors;
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  __u64 rx_compressed;
72  __u64 tx_compressed;
73  __u64 rx_nohandler;
74};
75struct rtnl_link_ifmap {
76  __u64 mem_start;
77  __u64 mem_end;
78  __u64 base_addr;
79  __u16 irq;
80  __u8 dma;
81  __u8 port;
82};
83enum {
84  IFLA_UNSPEC,
85  IFLA_ADDRESS,
86  IFLA_BROADCAST,
87  IFLA_IFNAME,
88  IFLA_MTU,
89  IFLA_LINK,
90  IFLA_QDISC,
91  IFLA_STATS,
92  IFLA_COST,
93#define IFLA_COST IFLA_COST
94  IFLA_PRIORITY,
95#define IFLA_PRIORITY IFLA_PRIORITY
96  IFLA_MASTER,
97#define IFLA_MASTER IFLA_MASTER
98  IFLA_WIRELESS,
99#define IFLA_WIRELESS IFLA_WIRELESS
100  IFLA_PROTINFO,
101#define IFLA_PROTINFO IFLA_PROTINFO
102  IFLA_TXQLEN,
103#define IFLA_TXQLEN IFLA_TXQLEN
104  IFLA_MAP,
105#define IFLA_MAP IFLA_MAP
106  IFLA_WEIGHT,
107#define IFLA_WEIGHT IFLA_WEIGHT
108  IFLA_OPERSTATE,
109  IFLA_LINKMODE,
110  IFLA_LINKINFO,
111#define IFLA_LINKINFO IFLA_LINKINFO
112  IFLA_NET_NS_PID,
113  IFLA_IFALIAS,
114  IFLA_NUM_VF,
115  IFLA_VFINFO_LIST,
116  IFLA_STATS64,
117  IFLA_VF_PORTS,
118  IFLA_PORT_SELF,
119  IFLA_AF_SPEC,
120  IFLA_GROUP,
121  IFLA_NET_NS_FD,
122  IFLA_EXT_MASK,
123  IFLA_PROMISCUITY,
124#define IFLA_PROMISCUITY IFLA_PROMISCUITY
125  IFLA_NUM_TX_QUEUES,
126  IFLA_NUM_RX_QUEUES,
127  IFLA_CARRIER,
128  IFLA_PHYS_PORT_ID,
129  IFLA_CARRIER_CHANGES,
130  IFLA_PHYS_SWITCH_ID,
131  IFLA_LINK_NETNSID,
132  IFLA_PHYS_PORT_NAME,
133  IFLA_PROTO_DOWN,
134  IFLA_GSO_MAX_SEGS,
135  IFLA_GSO_MAX_SIZE,
136  IFLA_PAD,
137  IFLA_XDP,
138  __IFLA_MAX
139};
140#define IFLA_MAX (__IFLA_MAX - 1)
141#define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
142#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
143enum {
144  IFLA_INET_UNSPEC,
145  IFLA_INET_CONF,
146  __IFLA_INET_MAX,
147};
148#define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
149enum {
150  IFLA_INET6_UNSPEC,
151  IFLA_INET6_FLAGS,
152  IFLA_INET6_CONF,
153  IFLA_INET6_STATS,
154  IFLA_INET6_MCAST,
155  IFLA_INET6_CACHEINFO,
156  IFLA_INET6_ICMP6STATS,
157  IFLA_INET6_TOKEN,
158  IFLA_INET6_ADDR_GEN_MODE,
159  __IFLA_INET6_MAX
160};
161#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
162enum in6_addr_gen_mode {
163  IN6_ADDR_GEN_MODE_EUI64,
164  IN6_ADDR_GEN_MODE_NONE,
165  IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
166  IN6_ADDR_GEN_MODE_RANDOM,
167};
168enum {
169  IFLA_BR_UNSPEC,
170  IFLA_BR_FORWARD_DELAY,
171  IFLA_BR_HELLO_TIME,
172  IFLA_BR_MAX_AGE,
173  IFLA_BR_AGEING_TIME,
174  IFLA_BR_STP_STATE,
175  IFLA_BR_PRIORITY,
176  IFLA_BR_VLAN_FILTERING,
177  IFLA_BR_VLAN_PROTOCOL,
178  IFLA_BR_GROUP_FWD_MASK,
179  IFLA_BR_ROOT_ID,
180  IFLA_BR_BRIDGE_ID,
181  IFLA_BR_ROOT_PORT,
182  IFLA_BR_ROOT_PATH_COST,
183  IFLA_BR_TOPOLOGY_CHANGE,
184  IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
185  IFLA_BR_HELLO_TIMER,
186  IFLA_BR_TCN_TIMER,
187  IFLA_BR_TOPOLOGY_CHANGE_TIMER,
188  IFLA_BR_GC_TIMER,
189  IFLA_BR_GROUP_ADDR,
190  IFLA_BR_FDB_FLUSH,
191  IFLA_BR_MCAST_ROUTER,
192  IFLA_BR_MCAST_SNOOPING,
193  IFLA_BR_MCAST_QUERY_USE_IFADDR,
194  IFLA_BR_MCAST_QUERIER,
195  IFLA_BR_MCAST_HASH_ELASTICITY,
196  IFLA_BR_MCAST_HASH_MAX,
197  IFLA_BR_MCAST_LAST_MEMBER_CNT,
198  IFLA_BR_MCAST_STARTUP_QUERY_CNT,
199  IFLA_BR_MCAST_LAST_MEMBER_INTVL,
200  IFLA_BR_MCAST_MEMBERSHIP_INTVL,
201  IFLA_BR_MCAST_QUERIER_INTVL,
202  IFLA_BR_MCAST_QUERY_INTVL,
203  IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
204  IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
205  IFLA_BR_NF_CALL_IPTABLES,
206  IFLA_BR_NF_CALL_IP6TABLES,
207  IFLA_BR_NF_CALL_ARPTABLES,
208  IFLA_BR_VLAN_DEFAULT_PVID,
209  IFLA_BR_PAD,
210  IFLA_BR_VLAN_STATS_ENABLED,
211  IFLA_BR_MCAST_STATS_ENABLED,
212  IFLA_BR_MCAST_IGMP_VERSION,
213  IFLA_BR_MCAST_MLD_VERSION,
214  __IFLA_BR_MAX,
215};
216#define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
217struct ifla_bridge_id {
218  __u8 prio[2];
219  __u8 addr[6];
220};
221enum {
222  BRIDGE_MODE_UNSPEC,
223  BRIDGE_MODE_HAIRPIN,
224};
225enum {
226  IFLA_BRPORT_UNSPEC,
227  IFLA_BRPORT_STATE,
228  IFLA_BRPORT_PRIORITY,
229  IFLA_BRPORT_COST,
230  IFLA_BRPORT_MODE,
231  IFLA_BRPORT_GUARD,
232  IFLA_BRPORT_PROTECT,
233  IFLA_BRPORT_FAST_LEAVE,
234  IFLA_BRPORT_LEARNING,
235  IFLA_BRPORT_UNICAST_FLOOD,
236  IFLA_BRPORT_PROXYARP,
237  IFLA_BRPORT_LEARNING_SYNC,
238  IFLA_BRPORT_PROXYARP_WIFI,
239  IFLA_BRPORT_ROOT_ID,
240  IFLA_BRPORT_BRIDGE_ID,
241  IFLA_BRPORT_DESIGNATED_PORT,
242  IFLA_BRPORT_DESIGNATED_COST,
243  IFLA_BRPORT_ID,
244  IFLA_BRPORT_NO,
245  IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
246  IFLA_BRPORT_CONFIG_PENDING,
247  IFLA_BRPORT_MESSAGE_AGE_TIMER,
248  IFLA_BRPORT_FORWARD_DELAY_TIMER,
249  IFLA_BRPORT_HOLD_TIMER,
250  IFLA_BRPORT_FLUSH,
251  IFLA_BRPORT_MULTICAST_ROUTER,
252  IFLA_BRPORT_PAD,
253  IFLA_BRPORT_MCAST_FLOOD,
254  __IFLA_BRPORT_MAX
255};
256#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
257struct ifla_cacheinfo {
258  __u32 max_reasm_len;
259  __u32 tstamp;
260  __u32 reachable_time;
261  __u32 retrans_time;
262};
263enum {
264  IFLA_INFO_UNSPEC,
265  IFLA_INFO_KIND,
266  IFLA_INFO_DATA,
267  IFLA_INFO_XSTATS,
268  IFLA_INFO_SLAVE_KIND,
269  IFLA_INFO_SLAVE_DATA,
270  __IFLA_INFO_MAX,
271};
272#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
273enum {
274  IFLA_VLAN_UNSPEC,
275  IFLA_VLAN_ID,
276  IFLA_VLAN_FLAGS,
277  IFLA_VLAN_EGRESS_QOS,
278  IFLA_VLAN_INGRESS_QOS,
279  IFLA_VLAN_PROTOCOL,
280  __IFLA_VLAN_MAX,
281};
282#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
283struct ifla_vlan_flags {
284  __u32 flags;
285  __u32 mask;
286};
287enum {
288  IFLA_VLAN_QOS_UNSPEC,
289  IFLA_VLAN_QOS_MAPPING,
290  __IFLA_VLAN_QOS_MAX
291};
292#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
293struct ifla_vlan_qos_mapping {
294  __u32 from;
295  __u32 to;
296};
297enum {
298  IFLA_MACVLAN_UNSPEC,
299  IFLA_MACVLAN_MODE,
300  IFLA_MACVLAN_FLAGS,
301  IFLA_MACVLAN_MACADDR_MODE,
302  IFLA_MACVLAN_MACADDR,
303  IFLA_MACVLAN_MACADDR_DATA,
304  IFLA_MACVLAN_MACADDR_COUNT,
305  __IFLA_MACVLAN_MAX,
306};
307#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
308enum macvlan_mode {
309  MACVLAN_MODE_PRIVATE = 1,
310  MACVLAN_MODE_VEPA = 2,
311  MACVLAN_MODE_BRIDGE = 4,
312  MACVLAN_MODE_PASSTHRU = 8,
313  MACVLAN_MODE_SOURCE = 16,
314};
315enum macvlan_macaddr_mode {
316  MACVLAN_MACADDR_ADD,
317  MACVLAN_MACADDR_DEL,
318  MACVLAN_MACADDR_FLUSH,
319  MACVLAN_MACADDR_SET,
320};
321#define MACVLAN_FLAG_NOPROMISC 1
322enum {
323  IFLA_VRF_UNSPEC,
324  IFLA_VRF_TABLE,
325  __IFLA_VRF_MAX
326};
327#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
328enum {
329  IFLA_VRF_PORT_UNSPEC,
330  IFLA_VRF_PORT_TABLE,
331  __IFLA_VRF_PORT_MAX
332};
333#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
334enum {
335  IFLA_MACSEC_UNSPEC,
336  IFLA_MACSEC_SCI,
337  IFLA_MACSEC_PORT,
338  IFLA_MACSEC_ICV_LEN,
339  IFLA_MACSEC_CIPHER_SUITE,
340  IFLA_MACSEC_WINDOW,
341  IFLA_MACSEC_ENCODING_SA,
342  IFLA_MACSEC_ENCRYPT,
343  IFLA_MACSEC_PROTECT,
344  IFLA_MACSEC_INC_SCI,
345  IFLA_MACSEC_ES,
346  IFLA_MACSEC_SCB,
347  IFLA_MACSEC_REPLAY_PROTECT,
348  IFLA_MACSEC_VALIDATION,
349  IFLA_MACSEC_PAD,
350  __IFLA_MACSEC_MAX,
351};
352#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
353enum macsec_validation_type {
354  MACSEC_VALIDATE_DISABLED = 0,
355  MACSEC_VALIDATE_CHECK = 1,
356  MACSEC_VALIDATE_STRICT = 2,
357  __MACSEC_VALIDATE_END,
358  MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
359};
360enum {
361  IFLA_IPVLAN_UNSPEC,
362  IFLA_IPVLAN_MODE,
363  __IFLA_IPVLAN_MAX
364};
365#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
366enum ipvlan_mode {
367  IPVLAN_MODE_L2 = 0,
368  IPVLAN_MODE_L3,
369  IPVLAN_MODE_L3S,
370  IPVLAN_MODE_MAX
371};
372enum {
373  IFLA_VXLAN_UNSPEC,
374  IFLA_VXLAN_ID,
375  IFLA_VXLAN_GROUP,
376  IFLA_VXLAN_LINK,
377  IFLA_VXLAN_LOCAL,
378  IFLA_VXLAN_TTL,
379  IFLA_VXLAN_TOS,
380  IFLA_VXLAN_LEARNING,
381  IFLA_VXLAN_AGEING,
382  IFLA_VXLAN_LIMIT,
383  IFLA_VXLAN_PORT_RANGE,
384  IFLA_VXLAN_PROXY,
385  IFLA_VXLAN_RSC,
386  IFLA_VXLAN_L2MISS,
387  IFLA_VXLAN_L3MISS,
388  IFLA_VXLAN_PORT,
389  IFLA_VXLAN_GROUP6,
390  IFLA_VXLAN_LOCAL6,
391  IFLA_VXLAN_UDP_CSUM,
392  IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
393  IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
394  IFLA_VXLAN_REMCSUM_TX,
395  IFLA_VXLAN_REMCSUM_RX,
396  IFLA_VXLAN_GBP,
397  IFLA_VXLAN_REMCSUM_NOPARTIAL,
398  IFLA_VXLAN_COLLECT_METADATA,
399  IFLA_VXLAN_LABEL,
400  IFLA_VXLAN_GPE,
401  __IFLA_VXLAN_MAX
402};
403#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
404struct ifla_vxlan_port_range {
405  __be16 low;
406  __be16 high;
407};
408enum {
409  IFLA_GENEVE_UNSPEC,
410  IFLA_GENEVE_ID,
411  IFLA_GENEVE_REMOTE,
412  IFLA_GENEVE_TTL,
413  IFLA_GENEVE_TOS,
414  IFLA_GENEVE_PORT,
415  IFLA_GENEVE_COLLECT_METADATA,
416  IFLA_GENEVE_REMOTE6,
417  IFLA_GENEVE_UDP_CSUM,
418  IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
419  IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
420  IFLA_GENEVE_LABEL,
421  __IFLA_GENEVE_MAX
422};
423#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
424enum {
425  IFLA_PPP_UNSPEC,
426  IFLA_PPP_DEV_FD,
427  __IFLA_PPP_MAX
428};
429#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
430enum {
431  IFLA_GTP_UNSPEC,
432  IFLA_GTP_FD0,
433  IFLA_GTP_FD1,
434  IFLA_GTP_PDP_HASHSIZE,
435  __IFLA_GTP_MAX,
436};
437#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
438enum {
439  IFLA_BOND_UNSPEC,
440  IFLA_BOND_MODE,
441  IFLA_BOND_ACTIVE_SLAVE,
442  IFLA_BOND_MIIMON,
443  IFLA_BOND_UPDELAY,
444  IFLA_BOND_DOWNDELAY,
445  IFLA_BOND_USE_CARRIER,
446  IFLA_BOND_ARP_INTERVAL,
447  IFLA_BOND_ARP_IP_TARGET,
448  IFLA_BOND_ARP_VALIDATE,
449  IFLA_BOND_ARP_ALL_TARGETS,
450  IFLA_BOND_PRIMARY,
451  IFLA_BOND_PRIMARY_RESELECT,
452  IFLA_BOND_FAIL_OVER_MAC,
453  IFLA_BOND_XMIT_HASH_POLICY,
454  IFLA_BOND_RESEND_IGMP,
455  IFLA_BOND_NUM_PEER_NOTIF,
456  IFLA_BOND_ALL_SLAVES_ACTIVE,
457  IFLA_BOND_MIN_LINKS,
458  IFLA_BOND_LP_INTERVAL,
459  IFLA_BOND_PACKETS_PER_SLAVE,
460  IFLA_BOND_AD_LACP_RATE,
461  IFLA_BOND_AD_SELECT,
462  IFLA_BOND_AD_INFO,
463  IFLA_BOND_AD_ACTOR_SYS_PRIO,
464  IFLA_BOND_AD_USER_PORT_KEY,
465  IFLA_BOND_AD_ACTOR_SYSTEM,
466  IFLA_BOND_TLB_DYNAMIC_LB,
467  __IFLA_BOND_MAX,
468};
469#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
470enum {
471  IFLA_BOND_AD_INFO_UNSPEC,
472  IFLA_BOND_AD_INFO_AGGREGATOR,
473  IFLA_BOND_AD_INFO_NUM_PORTS,
474  IFLA_BOND_AD_INFO_ACTOR_KEY,
475  IFLA_BOND_AD_INFO_PARTNER_KEY,
476  IFLA_BOND_AD_INFO_PARTNER_MAC,
477  __IFLA_BOND_AD_INFO_MAX,
478};
479#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
480enum {
481  IFLA_BOND_SLAVE_UNSPEC,
482  IFLA_BOND_SLAVE_STATE,
483  IFLA_BOND_SLAVE_MII_STATUS,
484  IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
485  IFLA_BOND_SLAVE_PERM_HWADDR,
486  IFLA_BOND_SLAVE_QUEUE_ID,
487  IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
488  IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
489  IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
490  __IFLA_BOND_SLAVE_MAX,
491};
492#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
493enum {
494  IFLA_VF_INFO_UNSPEC,
495  IFLA_VF_INFO,
496  __IFLA_VF_INFO_MAX,
497};
498#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
499enum {
500  IFLA_VF_UNSPEC,
501  IFLA_VF_MAC,
502  IFLA_VF_VLAN,
503  IFLA_VF_TX_RATE,
504  IFLA_VF_SPOOFCHK,
505  IFLA_VF_LINK_STATE,
506  IFLA_VF_RATE,
507  IFLA_VF_RSS_QUERY_EN,
508  IFLA_VF_STATS,
509  IFLA_VF_TRUST,
510  IFLA_VF_IB_NODE_GUID,
511  IFLA_VF_IB_PORT_GUID,
512  IFLA_VF_VLAN_LIST,
513  __IFLA_VF_MAX,
514};
515#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
516struct ifla_vf_mac {
517  __u32 vf;
518  __u8 mac[32];
519};
520struct ifla_vf_vlan {
521  __u32 vf;
522  __u32 vlan;
523  __u32 qos;
524};
525enum {
526  IFLA_VF_VLAN_INFO_UNSPEC,
527  IFLA_VF_VLAN_INFO,
528  __IFLA_VF_VLAN_INFO_MAX,
529};
530#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
531#define MAX_VLAN_LIST_LEN 1
532struct ifla_vf_vlan_info {
533  __u32 vf;
534  __u32 vlan;
535  __u32 qos;
536  __be16 vlan_proto;
537};
538struct ifla_vf_tx_rate {
539  __u32 vf;
540  __u32 rate;
541};
542struct ifla_vf_rate {
543  __u32 vf;
544  __u32 min_tx_rate;
545  __u32 max_tx_rate;
546};
547struct ifla_vf_spoofchk {
548  __u32 vf;
549  __u32 setting;
550};
551struct ifla_vf_guid {
552  __u32 vf;
553  __u64 guid;
554};
555enum {
556  IFLA_VF_LINK_STATE_AUTO,
557  IFLA_VF_LINK_STATE_ENABLE,
558  IFLA_VF_LINK_STATE_DISABLE,
559  __IFLA_VF_LINK_STATE_MAX,
560};
561struct ifla_vf_link_state {
562  __u32 vf;
563  __u32 link_state;
564};
565struct ifla_vf_rss_query_en {
566  __u32 vf;
567  __u32 setting;
568};
569enum {
570  IFLA_VF_STATS_RX_PACKETS,
571  IFLA_VF_STATS_TX_PACKETS,
572  IFLA_VF_STATS_RX_BYTES,
573  IFLA_VF_STATS_TX_BYTES,
574  IFLA_VF_STATS_BROADCAST,
575  IFLA_VF_STATS_MULTICAST,
576  IFLA_VF_STATS_PAD,
577  __IFLA_VF_STATS_MAX,
578};
579#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
580struct ifla_vf_trust {
581  __u32 vf;
582  __u32 setting;
583};
584enum {
585  IFLA_VF_PORT_UNSPEC,
586  IFLA_VF_PORT,
587  __IFLA_VF_PORT_MAX,
588};
589#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
590enum {
591  IFLA_PORT_UNSPEC,
592  IFLA_PORT_VF,
593  IFLA_PORT_PROFILE,
594  IFLA_PORT_VSI_TYPE,
595  IFLA_PORT_INSTANCE_UUID,
596  IFLA_PORT_HOST_UUID,
597  IFLA_PORT_REQUEST,
598  IFLA_PORT_RESPONSE,
599  __IFLA_PORT_MAX,
600};
601#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
602#define PORT_PROFILE_MAX 40
603#define PORT_UUID_MAX 16
604#define PORT_SELF_VF - 1
605enum {
606  PORT_REQUEST_PREASSOCIATE = 0,
607  PORT_REQUEST_PREASSOCIATE_RR,
608  PORT_REQUEST_ASSOCIATE,
609  PORT_REQUEST_DISASSOCIATE,
610};
611enum {
612  PORT_VDP_RESPONSE_SUCCESS = 0,
613  PORT_VDP_RESPONSE_INVALID_FORMAT,
614  PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
615  PORT_VDP_RESPONSE_UNUSED_VTID,
616  PORT_VDP_RESPONSE_VTID_VIOLATION,
617  PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
618  PORT_VDP_RESPONSE_OUT_OF_SYNC,
619  PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
620  PORT_PROFILE_RESPONSE_INPROGRESS,
621  PORT_PROFILE_RESPONSE_INVALID,
622  PORT_PROFILE_RESPONSE_BADSTATE,
623  PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
624  PORT_PROFILE_RESPONSE_ERROR,
625};
626struct ifla_port_vsi {
627  __u8 vsi_mgr_id;
628  __u8 vsi_type_id[3];
629  __u8 vsi_type_version;
630  __u8 pad[3];
631};
632enum {
633  IFLA_IPOIB_UNSPEC,
634  IFLA_IPOIB_PKEY,
635  IFLA_IPOIB_MODE,
636  IFLA_IPOIB_UMCAST,
637  __IFLA_IPOIB_MAX
638};
639enum {
640  IPOIB_MODE_DATAGRAM = 0,
641  IPOIB_MODE_CONNECTED = 1,
642};
643#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
644enum {
645  IFLA_HSR_UNSPEC,
646  IFLA_HSR_SLAVE1,
647  IFLA_HSR_SLAVE2,
648  IFLA_HSR_MULTICAST_SPEC,
649  IFLA_HSR_SUPERVISION_ADDR,
650  IFLA_HSR_SEQ_NR,
651  IFLA_HSR_VERSION,
652  __IFLA_HSR_MAX,
653};
654#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
655struct if_stats_msg {
656  __u8 family;
657  __u8 pad1;
658  __u16 pad2;
659  __u32 ifindex;
660  __u32 filter_mask;
661};
662enum {
663  IFLA_STATS_UNSPEC,
664  IFLA_STATS_LINK_64,
665  IFLA_STATS_LINK_XSTATS,
666  IFLA_STATS_LINK_XSTATS_SLAVE,
667  IFLA_STATS_LINK_OFFLOAD_XSTATS,
668  __IFLA_STATS_MAX,
669};
670#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
671#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
672enum {
673  LINK_XSTATS_TYPE_UNSPEC,
674  LINK_XSTATS_TYPE_BRIDGE,
675  __LINK_XSTATS_TYPE_MAX
676};
677#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
678enum {
679  IFLA_OFFLOAD_XSTATS_UNSPEC,
680  IFLA_OFFLOAD_XSTATS_CPU_HIT,
681  __IFLA_OFFLOAD_XSTATS_MAX
682};
683#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
684#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
685#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST)
686enum {
687  IFLA_XDP_UNSPEC,
688  IFLA_XDP_FD,
689  IFLA_XDP_ATTACHED,
690  IFLA_XDP_FLAGS,
691  __IFLA_XDP_MAX,
692};
693#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
694#endif
695