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_EVENT,
139  IFLA_NEW_NETNSID,
140  IFLA_IF_NETNSID,
141  IFLA_TARGET_NETNSID = IFLA_IF_NETNSID,
142  IFLA_CARRIER_UP_COUNT,
143  IFLA_CARRIER_DOWN_COUNT,
144  IFLA_NEW_IFINDEX,
145  IFLA_MIN_MTU,
146  IFLA_MAX_MTU,
147  IFLA_PROP_LIST,
148  IFLA_ALT_IFNAME,
149  IFLA_PERM_ADDRESS,
150  IFLA_PROTO_DOWN_REASON,
151  __IFLA_MAX
152};
153#define IFLA_MAX (__IFLA_MAX - 1)
154enum {
155  IFLA_PROTO_DOWN_REASON_UNSPEC,
156  IFLA_PROTO_DOWN_REASON_MASK,
157  IFLA_PROTO_DOWN_REASON_VALUE,
158  __IFLA_PROTO_DOWN_REASON_CNT,
159  IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1
160};
161#define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
162#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
163enum {
164  IFLA_INET_UNSPEC,
165  IFLA_INET_CONF,
166  __IFLA_INET_MAX,
167};
168#define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
169enum {
170  IFLA_INET6_UNSPEC,
171  IFLA_INET6_FLAGS,
172  IFLA_INET6_CONF,
173  IFLA_INET6_STATS,
174  IFLA_INET6_MCAST,
175  IFLA_INET6_CACHEINFO,
176  IFLA_INET6_ICMP6STATS,
177  IFLA_INET6_TOKEN,
178  IFLA_INET6_ADDR_GEN_MODE,
179  __IFLA_INET6_MAX
180};
181#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
182enum in6_addr_gen_mode {
183  IN6_ADDR_GEN_MODE_EUI64,
184  IN6_ADDR_GEN_MODE_NONE,
185  IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
186  IN6_ADDR_GEN_MODE_RANDOM,
187};
188enum {
189  IFLA_BR_UNSPEC,
190  IFLA_BR_FORWARD_DELAY,
191  IFLA_BR_HELLO_TIME,
192  IFLA_BR_MAX_AGE,
193  IFLA_BR_AGEING_TIME,
194  IFLA_BR_STP_STATE,
195  IFLA_BR_PRIORITY,
196  IFLA_BR_VLAN_FILTERING,
197  IFLA_BR_VLAN_PROTOCOL,
198  IFLA_BR_GROUP_FWD_MASK,
199  IFLA_BR_ROOT_ID,
200  IFLA_BR_BRIDGE_ID,
201  IFLA_BR_ROOT_PORT,
202  IFLA_BR_ROOT_PATH_COST,
203  IFLA_BR_TOPOLOGY_CHANGE,
204  IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
205  IFLA_BR_HELLO_TIMER,
206  IFLA_BR_TCN_TIMER,
207  IFLA_BR_TOPOLOGY_CHANGE_TIMER,
208  IFLA_BR_GC_TIMER,
209  IFLA_BR_GROUP_ADDR,
210  IFLA_BR_FDB_FLUSH,
211  IFLA_BR_MCAST_ROUTER,
212  IFLA_BR_MCAST_SNOOPING,
213  IFLA_BR_MCAST_QUERY_USE_IFADDR,
214  IFLA_BR_MCAST_QUERIER,
215  IFLA_BR_MCAST_HASH_ELASTICITY,
216  IFLA_BR_MCAST_HASH_MAX,
217  IFLA_BR_MCAST_LAST_MEMBER_CNT,
218  IFLA_BR_MCAST_STARTUP_QUERY_CNT,
219  IFLA_BR_MCAST_LAST_MEMBER_INTVL,
220  IFLA_BR_MCAST_MEMBERSHIP_INTVL,
221  IFLA_BR_MCAST_QUERIER_INTVL,
222  IFLA_BR_MCAST_QUERY_INTVL,
223  IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
224  IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
225  IFLA_BR_NF_CALL_IPTABLES,
226  IFLA_BR_NF_CALL_IP6TABLES,
227  IFLA_BR_NF_CALL_ARPTABLES,
228  IFLA_BR_VLAN_DEFAULT_PVID,
229  IFLA_BR_PAD,
230  IFLA_BR_VLAN_STATS_ENABLED,
231  IFLA_BR_MCAST_STATS_ENABLED,
232  IFLA_BR_MCAST_IGMP_VERSION,
233  IFLA_BR_MCAST_MLD_VERSION,
234  IFLA_BR_VLAN_STATS_PER_PORT,
235  IFLA_BR_MULTI_BOOLOPT,
236  __IFLA_BR_MAX,
237};
238#define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
239struct ifla_bridge_id {
240  __u8 prio[2];
241  __u8 addr[6];
242};
243enum {
244  BRIDGE_MODE_UNSPEC,
245  BRIDGE_MODE_HAIRPIN,
246};
247enum {
248  IFLA_BRPORT_UNSPEC,
249  IFLA_BRPORT_STATE,
250  IFLA_BRPORT_PRIORITY,
251  IFLA_BRPORT_COST,
252  IFLA_BRPORT_MODE,
253  IFLA_BRPORT_GUARD,
254  IFLA_BRPORT_PROTECT,
255  IFLA_BRPORT_FAST_LEAVE,
256  IFLA_BRPORT_LEARNING,
257  IFLA_BRPORT_UNICAST_FLOOD,
258  IFLA_BRPORT_PROXYARP,
259  IFLA_BRPORT_LEARNING_SYNC,
260  IFLA_BRPORT_PROXYARP_WIFI,
261  IFLA_BRPORT_ROOT_ID,
262  IFLA_BRPORT_BRIDGE_ID,
263  IFLA_BRPORT_DESIGNATED_PORT,
264  IFLA_BRPORT_DESIGNATED_COST,
265  IFLA_BRPORT_ID,
266  IFLA_BRPORT_NO,
267  IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
268  IFLA_BRPORT_CONFIG_PENDING,
269  IFLA_BRPORT_MESSAGE_AGE_TIMER,
270  IFLA_BRPORT_FORWARD_DELAY_TIMER,
271  IFLA_BRPORT_HOLD_TIMER,
272  IFLA_BRPORT_FLUSH,
273  IFLA_BRPORT_MULTICAST_ROUTER,
274  IFLA_BRPORT_PAD,
275  IFLA_BRPORT_MCAST_FLOOD,
276  IFLA_BRPORT_MCAST_TO_UCAST,
277  IFLA_BRPORT_VLAN_TUNNEL,
278  IFLA_BRPORT_BCAST_FLOOD,
279  IFLA_BRPORT_GROUP_FWD_MASK,
280  IFLA_BRPORT_NEIGH_SUPPRESS,
281  IFLA_BRPORT_ISOLATED,
282  IFLA_BRPORT_BACKUP_PORT,
283  IFLA_BRPORT_MRP_RING_OPEN,
284  IFLA_BRPORT_MRP_IN_OPEN,
285  __IFLA_BRPORT_MAX
286};
287#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
288struct ifla_cacheinfo {
289  __u32 max_reasm_len;
290  __u32 tstamp;
291  __u32 reachable_time;
292  __u32 retrans_time;
293};
294enum {
295  IFLA_INFO_UNSPEC,
296  IFLA_INFO_KIND,
297  IFLA_INFO_DATA,
298  IFLA_INFO_XSTATS,
299  IFLA_INFO_SLAVE_KIND,
300  IFLA_INFO_SLAVE_DATA,
301  __IFLA_INFO_MAX,
302};
303#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
304enum {
305  IFLA_VLAN_UNSPEC,
306  IFLA_VLAN_ID,
307  IFLA_VLAN_FLAGS,
308  IFLA_VLAN_EGRESS_QOS,
309  IFLA_VLAN_INGRESS_QOS,
310  IFLA_VLAN_PROTOCOL,
311  __IFLA_VLAN_MAX,
312};
313#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
314struct ifla_vlan_flags {
315  __u32 flags;
316  __u32 mask;
317};
318enum {
319  IFLA_VLAN_QOS_UNSPEC,
320  IFLA_VLAN_QOS_MAPPING,
321  __IFLA_VLAN_QOS_MAX
322};
323#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
324struct ifla_vlan_qos_mapping {
325  __u32 from;
326  __u32 to;
327};
328enum {
329  IFLA_MACVLAN_UNSPEC,
330  IFLA_MACVLAN_MODE,
331  IFLA_MACVLAN_FLAGS,
332  IFLA_MACVLAN_MACADDR_MODE,
333  IFLA_MACVLAN_MACADDR,
334  IFLA_MACVLAN_MACADDR_DATA,
335  IFLA_MACVLAN_MACADDR_COUNT,
336  __IFLA_MACVLAN_MAX,
337};
338#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
339enum macvlan_mode {
340  MACVLAN_MODE_PRIVATE = 1,
341  MACVLAN_MODE_VEPA = 2,
342  MACVLAN_MODE_BRIDGE = 4,
343  MACVLAN_MODE_PASSTHRU = 8,
344  MACVLAN_MODE_SOURCE = 16,
345};
346enum macvlan_macaddr_mode {
347  MACVLAN_MACADDR_ADD,
348  MACVLAN_MACADDR_DEL,
349  MACVLAN_MACADDR_FLUSH,
350  MACVLAN_MACADDR_SET,
351};
352#define MACVLAN_FLAG_NOPROMISC 1
353enum {
354  IFLA_VRF_UNSPEC,
355  IFLA_VRF_TABLE,
356  __IFLA_VRF_MAX
357};
358#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
359enum {
360  IFLA_VRF_PORT_UNSPEC,
361  IFLA_VRF_PORT_TABLE,
362  __IFLA_VRF_PORT_MAX
363};
364#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
365enum {
366  IFLA_MACSEC_UNSPEC,
367  IFLA_MACSEC_SCI,
368  IFLA_MACSEC_PORT,
369  IFLA_MACSEC_ICV_LEN,
370  IFLA_MACSEC_CIPHER_SUITE,
371  IFLA_MACSEC_WINDOW,
372  IFLA_MACSEC_ENCODING_SA,
373  IFLA_MACSEC_ENCRYPT,
374  IFLA_MACSEC_PROTECT,
375  IFLA_MACSEC_INC_SCI,
376  IFLA_MACSEC_ES,
377  IFLA_MACSEC_SCB,
378  IFLA_MACSEC_REPLAY_PROTECT,
379  IFLA_MACSEC_VALIDATION,
380  IFLA_MACSEC_PAD,
381  IFLA_MACSEC_OFFLOAD,
382  __IFLA_MACSEC_MAX,
383};
384#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
385enum {
386  IFLA_XFRM_UNSPEC,
387  IFLA_XFRM_LINK,
388  IFLA_XFRM_IF_ID,
389  __IFLA_XFRM_MAX
390};
391#define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1)
392enum macsec_validation_type {
393  MACSEC_VALIDATE_DISABLED = 0,
394  MACSEC_VALIDATE_CHECK = 1,
395  MACSEC_VALIDATE_STRICT = 2,
396  __MACSEC_VALIDATE_END,
397  MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
398};
399enum macsec_offload {
400  MACSEC_OFFLOAD_OFF = 0,
401  MACSEC_OFFLOAD_PHY = 1,
402  MACSEC_OFFLOAD_MAC = 2,
403  __MACSEC_OFFLOAD_END,
404  MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1,
405};
406enum {
407  IFLA_IPVLAN_UNSPEC,
408  IFLA_IPVLAN_MODE,
409  IFLA_IPVLAN_FLAGS,
410  __IFLA_IPVLAN_MAX
411};
412#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
413enum ipvlan_mode {
414  IPVLAN_MODE_L2 = 0,
415  IPVLAN_MODE_L3,
416  IPVLAN_MODE_L3S,
417  IPVLAN_MODE_MAX
418};
419#define IPVLAN_F_PRIVATE 0x01
420#define IPVLAN_F_VEPA 0x02
421enum {
422  IFLA_VXLAN_UNSPEC,
423  IFLA_VXLAN_ID,
424  IFLA_VXLAN_GROUP,
425  IFLA_VXLAN_LINK,
426  IFLA_VXLAN_LOCAL,
427  IFLA_VXLAN_TTL,
428  IFLA_VXLAN_TOS,
429  IFLA_VXLAN_LEARNING,
430  IFLA_VXLAN_AGEING,
431  IFLA_VXLAN_LIMIT,
432  IFLA_VXLAN_PORT_RANGE,
433  IFLA_VXLAN_PROXY,
434  IFLA_VXLAN_RSC,
435  IFLA_VXLAN_L2MISS,
436  IFLA_VXLAN_L3MISS,
437  IFLA_VXLAN_PORT,
438  IFLA_VXLAN_GROUP6,
439  IFLA_VXLAN_LOCAL6,
440  IFLA_VXLAN_UDP_CSUM,
441  IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
442  IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
443  IFLA_VXLAN_REMCSUM_TX,
444  IFLA_VXLAN_REMCSUM_RX,
445  IFLA_VXLAN_GBP,
446  IFLA_VXLAN_REMCSUM_NOPARTIAL,
447  IFLA_VXLAN_COLLECT_METADATA,
448  IFLA_VXLAN_LABEL,
449  IFLA_VXLAN_GPE,
450  IFLA_VXLAN_TTL_INHERIT,
451  IFLA_VXLAN_DF,
452  __IFLA_VXLAN_MAX
453};
454#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
455struct ifla_vxlan_port_range {
456  __be16 low;
457  __be16 high;
458};
459enum ifla_vxlan_df {
460  VXLAN_DF_UNSET = 0,
461  VXLAN_DF_SET,
462  VXLAN_DF_INHERIT,
463  __VXLAN_DF_END,
464  VXLAN_DF_MAX = __VXLAN_DF_END - 1,
465};
466enum {
467  IFLA_GENEVE_UNSPEC,
468  IFLA_GENEVE_ID,
469  IFLA_GENEVE_REMOTE,
470  IFLA_GENEVE_TTL,
471  IFLA_GENEVE_TOS,
472  IFLA_GENEVE_PORT,
473  IFLA_GENEVE_COLLECT_METADATA,
474  IFLA_GENEVE_REMOTE6,
475  IFLA_GENEVE_UDP_CSUM,
476  IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
477  IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
478  IFLA_GENEVE_LABEL,
479  IFLA_GENEVE_TTL_INHERIT,
480  IFLA_GENEVE_DF,
481  __IFLA_GENEVE_MAX
482};
483#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
484enum ifla_geneve_df {
485  GENEVE_DF_UNSET = 0,
486  GENEVE_DF_SET,
487  GENEVE_DF_INHERIT,
488  __GENEVE_DF_END,
489  GENEVE_DF_MAX = __GENEVE_DF_END - 1,
490};
491enum {
492  IFLA_BAREUDP_UNSPEC,
493  IFLA_BAREUDP_PORT,
494  IFLA_BAREUDP_ETHERTYPE,
495  IFLA_BAREUDP_SRCPORT_MIN,
496  IFLA_BAREUDP_MULTIPROTO_MODE,
497  __IFLA_BAREUDP_MAX
498};
499#define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1)
500enum {
501  IFLA_PPP_UNSPEC,
502  IFLA_PPP_DEV_FD,
503  __IFLA_PPP_MAX
504};
505#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
506enum ifla_gtp_role {
507  GTP_ROLE_GGSN = 0,
508  GTP_ROLE_SGSN,
509};
510enum {
511  IFLA_GTP_UNSPEC,
512  IFLA_GTP_FD0,
513  IFLA_GTP_FD1,
514  IFLA_GTP_PDP_HASHSIZE,
515  IFLA_GTP_ROLE,
516  __IFLA_GTP_MAX,
517};
518#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
519enum {
520  IFLA_BOND_UNSPEC,
521  IFLA_BOND_MODE,
522  IFLA_BOND_ACTIVE_SLAVE,
523  IFLA_BOND_MIIMON,
524  IFLA_BOND_UPDELAY,
525  IFLA_BOND_DOWNDELAY,
526  IFLA_BOND_USE_CARRIER,
527  IFLA_BOND_ARP_INTERVAL,
528  IFLA_BOND_ARP_IP_TARGET,
529  IFLA_BOND_ARP_VALIDATE,
530  IFLA_BOND_ARP_ALL_TARGETS,
531  IFLA_BOND_PRIMARY,
532  IFLA_BOND_PRIMARY_RESELECT,
533  IFLA_BOND_FAIL_OVER_MAC,
534  IFLA_BOND_XMIT_HASH_POLICY,
535  IFLA_BOND_RESEND_IGMP,
536  IFLA_BOND_NUM_PEER_NOTIF,
537  IFLA_BOND_ALL_SLAVES_ACTIVE,
538  IFLA_BOND_MIN_LINKS,
539  IFLA_BOND_LP_INTERVAL,
540  IFLA_BOND_PACKETS_PER_SLAVE,
541  IFLA_BOND_AD_LACP_RATE,
542  IFLA_BOND_AD_SELECT,
543  IFLA_BOND_AD_INFO,
544  IFLA_BOND_AD_ACTOR_SYS_PRIO,
545  IFLA_BOND_AD_USER_PORT_KEY,
546  IFLA_BOND_AD_ACTOR_SYSTEM,
547  IFLA_BOND_TLB_DYNAMIC_LB,
548  IFLA_BOND_PEER_NOTIF_DELAY,
549  __IFLA_BOND_MAX,
550};
551#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
552enum {
553  IFLA_BOND_AD_INFO_UNSPEC,
554  IFLA_BOND_AD_INFO_AGGREGATOR,
555  IFLA_BOND_AD_INFO_NUM_PORTS,
556  IFLA_BOND_AD_INFO_ACTOR_KEY,
557  IFLA_BOND_AD_INFO_PARTNER_KEY,
558  IFLA_BOND_AD_INFO_PARTNER_MAC,
559  __IFLA_BOND_AD_INFO_MAX,
560};
561#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
562enum {
563  IFLA_BOND_SLAVE_UNSPEC,
564  IFLA_BOND_SLAVE_STATE,
565  IFLA_BOND_SLAVE_MII_STATUS,
566  IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
567  IFLA_BOND_SLAVE_PERM_HWADDR,
568  IFLA_BOND_SLAVE_QUEUE_ID,
569  IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
570  IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
571  IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
572  __IFLA_BOND_SLAVE_MAX,
573};
574#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
575enum {
576  IFLA_VF_INFO_UNSPEC,
577  IFLA_VF_INFO,
578  __IFLA_VF_INFO_MAX,
579};
580#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
581enum {
582  IFLA_VF_UNSPEC,
583  IFLA_VF_MAC,
584  IFLA_VF_VLAN,
585  IFLA_VF_TX_RATE,
586  IFLA_VF_SPOOFCHK,
587  IFLA_VF_LINK_STATE,
588  IFLA_VF_RATE,
589  IFLA_VF_RSS_QUERY_EN,
590  IFLA_VF_STATS,
591  IFLA_VF_TRUST,
592  IFLA_VF_IB_NODE_GUID,
593  IFLA_VF_IB_PORT_GUID,
594  IFLA_VF_VLAN_LIST,
595  IFLA_VF_BROADCAST,
596  __IFLA_VF_MAX,
597};
598#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
599struct ifla_vf_mac {
600  __u32 vf;
601  __u8 mac[32];
602};
603struct ifla_vf_broadcast {
604  __u8 broadcast[32];
605};
606struct ifla_vf_vlan {
607  __u32 vf;
608  __u32 vlan;
609  __u32 qos;
610};
611enum {
612  IFLA_VF_VLAN_INFO_UNSPEC,
613  IFLA_VF_VLAN_INFO,
614  __IFLA_VF_VLAN_INFO_MAX,
615};
616#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
617#define MAX_VLAN_LIST_LEN 1
618struct ifla_vf_vlan_info {
619  __u32 vf;
620  __u32 vlan;
621  __u32 qos;
622  __be16 vlan_proto;
623};
624struct ifla_vf_tx_rate {
625  __u32 vf;
626  __u32 rate;
627};
628struct ifla_vf_rate {
629  __u32 vf;
630  __u32 min_tx_rate;
631  __u32 max_tx_rate;
632};
633struct ifla_vf_spoofchk {
634  __u32 vf;
635  __u32 setting;
636};
637struct ifla_vf_guid {
638  __u32 vf;
639  __u64 guid;
640};
641enum {
642  IFLA_VF_LINK_STATE_AUTO,
643  IFLA_VF_LINK_STATE_ENABLE,
644  IFLA_VF_LINK_STATE_DISABLE,
645  __IFLA_VF_LINK_STATE_MAX,
646};
647struct ifla_vf_link_state {
648  __u32 vf;
649  __u32 link_state;
650};
651struct ifla_vf_rss_query_en {
652  __u32 vf;
653  __u32 setting;
654};
655enum {
656  IFLA_VF_STATS_RX_PACKETS,
657  IFLA_VF_STATS_TX_PACKETS,
658  IFLA_VF_STATS_RX_BYTES,
659  IFLA_VF_STATS_TX_BYTES,
660  IFLA_VF_STATS_BROADCAST,
661  IFLA_VF_STATS_MULTICAST,
662  IFLA_VF_STATS_PAD,
663  IFLA_VF_STATS_RX_DROPPED,
664  IFLA_VF_STATS_TX_DROPPED,
665  __IFLA_VF_STATS_MAX,
666};
667#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
668struct ifla_vf_trust {
669  __u32 vf;
670  __u32 setting;
671};
672enum {
673  IFLA_VF_PORT_UNSPEC,
674  IFLA_VF_PORT,
675  __IFLA_VF_PORT_MAX,
676};
677#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
678enum {
679  IFLA_PORT_UNSPEC,
680  IFLA_PORT_VF,
681  IFLA_PORT_PROFILE,
682  IFLA_PORT_VSI_TYPE,
683  IFLA_PORT_INSTANCE_UUID,
684  IFLA_PORT_HOST_UUID,
685  IFLA_PORT_REQUEST,
686  IFLA_PORT_RESPONSE,
687  __IFLA_PORT_MAX,
688};
689#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
690#define PORT_PROFILE_MAX 40
691#define PORT_UUID_MAX 16
692#define PORT_SELF_VF - 1
693enum {
694  PORT_REQUEST_PREASSOCIATE = 0,
695  PORT_REQUEST_PREASSOCIATE_RR,
696  PORT_REQUEST_ASSOCIATE,
697  PORT_REQUEST_DISASSOCIATE,
698};
699enum {
700  PORT_VDP_RESPONSE_SUCCESS = 0,
701  PORT_VDP_RESPONSE_INVALID_FORMAT,
702  PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
703  PORT_VDP_RESPONSE_UNUSED_VTID,
704  PORT_VDP_RESPONSE_VTID_VIOLATION,
705  PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
706  PORT_VDP_RESPONSE_OUT_OF_SYNC,
707  PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
708  PORT_PROFILE_RESPONSE_INPROGRESS,
709  PORT_PROFILE_RESPONSE_INVALID,
710  PORT_PROFILE_RESPONSE_BADSTATE,
711  PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
712  PORT_PROFILE_RESPONSE_ERROR,
713};
714struct ifla_port_vsi {
715  __u8 vsi_mgr_id;
716  __u8 vsi_type_id[3];
717  __u8 vsi_type_version;
718  __u8 pad[3];
719};
720enum {
721  IFLA_IPOIB_UNSPEC,
722  IFLA_IPOIB_PKEY,
723  IFLA_IPOIB_MODE,
724  IFLA_IPOIB_UMCAST,
725  __IFLA_IPOIB_MAX
726};
727enum {
728  IPOIB_MODE_DATAGRAM = 0,
729  IPOIB_MODE_CONNECTED = 1,
730};
731#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
732enum {
733  HSR_PROTOCOL_HSR,
734  HSR_PROTOCOL_PRP,
735  HSR_PROTOCOL_MAX,
736};
737enum {
738  IFLA_HSR_UNSPEC,
739  IFLA_HSR_SLAVE1,
740  IFLA_HSR_SLAVE2,
741  IFLA_HSR_MULTICAST_SPEC,
742  IFLA_HSR_SUPERVISION_ADDR,
743  IFLA_HSR_SEQ_NR,
744  IFLA_HSR_VERSION,
745  IFLA_HSR_PROTOCOL,
746  __IFLA_HSR_MAX,
747};
748#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
749struct if_stats_msg {
750  __u8 family;
751  __u8 pad1;
752  __u16 pad2;
753  __u32 ifindex;
754  __u32 filter_mask;
755};
756enum {
757  IFLA_STATS_UNSPEC,
758  IFLA_STATS_LINK_64,
759  IFLA_STATS_LINK_XSTATS,
760  IFLA_STATS_LINK_XSTATS_SLAVE,
761  IFLA_STATS_LINK_OFFLOAD_XSTATS,
762  IFLA_STATS_AF_SPEC,
763  __IFLA_STATS_MAX,
764};
765#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
766#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
767enum {
768  LINK_XSTATS_TYPE_UNSPEC,
769  LINK_XSTATS_TYPE_BRIDGE,
770  LINK_XSTATS_TYPE_BOND,
771  __LINK_XSTATS_TYPE_MAX
772};
773#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
774enum {
775  IFLA_OFFLOAD_XSTATS_UNSPEC,
776  IFLA_OFFLOAD_XSTATS_CPU_HIT,
777  __IFLA_OFFLOAD_XSTATS_MAX
778};
779#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
780#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
781#define XDP_FLAGS_SKB_MODE (1U << 1)
782#define XDP_FLAGS_DRV_MODE (1U << 2)
783#define XDP_FLAGS_HW_MODE (1U << 3)
784#define XDP_FLAGS_REPLACE (1U << 4)
785#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE)
786#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_MODES | XDP_FLAGS_REPLACE)
787enum {
788  XDP_ATTACHED_NONE = 0,
789  XDP_ATTACHED_DRV,
790  XDP_ATTACHED_SKB,
791  XDP_ATTACHED_HW,
792  XDP_ATTACHED_MULTI,
793};
794enum {
795  IFLA_XDP_UNSPEC,
796  IFLA_XDP_FD,
797  IFLA_XDP_ATTACHED,
798  IFLA_XDP_FLAGS,
799  IFLA_XDP_PROG_ID,
800  IFLA_XDP_DRV_PROG_ID,
801  IFLA_XDP_SKB_PROG_ID,
802  IFLA_XDP_HW_PROG_ID,
803  IFLA_XDP_EXPECTED_FD,
804  __IFLA_XDP_MAX,
805};
806#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
807enum {
808  IFLA_EVENT_NONE,
809  IFLA_EVENT_REBOOT,
810  IFLA_EVENT_FEATURES,
811  IFLA_EVENT_BONDING_FAILOVER,
812  IFLA_EVENT_NOTIFY_PEERS,
813  IFLA_EVENT_IGMP_RESEND,
814  IFLA_EVENT_BONDING_OPTIONS,
815};
816enum {
817  IFLA_TUN_UNSPEC,
818  IFLA_TUN_OWNER,
819  IFLA_TUN_GROUP,
820  IFLA_TUN_TYPE,
821  IFLA_TUN_PI,
822  IFLA_TUN_VNET_HDR,
823  IFLA_TUN_PERSIST,
824  IFLA_TUN_MULTI_QUEUE,
825  IFLA_TUN_NUM_QUEUES,
826  IFLA_TUN_NUM_DISABLED_QUEUES,
827  __IFLA_TUN_MAX,
828};
829#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1)
830#define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0)
831#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
832#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
833#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
834enum {
835  IFLA_RMNET_UNSPEC,
836  IFLA_RMNET_MUX_ID,
837  IFLA_RMNET_FLAGS,
838  __IFLA_RMNET_MAX,
839};
840#define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1)
841struct ifla_rmnet_flags {
842  __u32 flags;
843  __u32 mask;
844};
845#endif
846