• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
23  struct 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  };
49  struct 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  };
75  struct 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  };
83  enum {
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)
154  enum {
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))
163  enum {
164    IFLA_INET_UNSPEC,
165    IFLA_INET_CONF,
166    __IFLA_INET_MAX,
167  };
168  #define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
169  enum {
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)
182  enum 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  };
188  enum {
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)
239  struct ifla_bridge_id {
240    __u8 prio[2];
241    __u8 addr[6];
242  };
243  enum {
244    BRIDGE_MODE_UNSPEC,
245    BRIDGE_MODE_HAIRPIN,
246  };
247  enum {
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_MCAST_EHT_HOSTS_LIMIT,
286    IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
287    __IFLA_BRPORT_MAX
288  };
289  #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
290  struct ifla_cacheinfo {
291    __u32 max_reasm_len;
292    __u32 tstamp;
293    __u32 reachable_time;
294    __u32 retrans_time;
295  };
296  enum {
297    IFLA_INFO_UNSPEC,
298    IFLA_INFO_KIND,
299    IFLA_INFO_DATA,
300    IFLA_INFO_XSTATS,
301    IFLA_INFO_SLAVE_KIND,
302    IFLA_INFO_SLAVE_DATA,
303    __IFLA_INFO_MAX,
304  };
305  #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
306  enum {
307    IFLA_VLAN_UNSPEC,
308    IFLA_VLAN_ID,
309    IFLA_VLAN_FLAGS,
310    IFLA_VLAN_EGRESS_QOS,
311    IFLA_VLAN_INGRESS_QOS,
312    IFLA_VLAN_PROTOCOL,
313    __IFLA_VLAN_MAX,
314  };
315  #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
316  struct ifla_vlan_flags {
317    __u32 flags;
318    __u32 mask;
319  };
320  enum {
321    IFLA_VLAN_QOS_UNSPEC,
322    IFLA_VLAN_QOS_MAPPING,
323    __IFLA_VLAN_QOS_MAX
324  };
325  #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
326  struct ifla_vlan_qos_mapping {
327    __u32 from;
328    __u32 to;
329  };
330  enum {
331    IFLA_MACVLAN_UNSPEC,
332    IFLA_MACVLAN_MODE,
333    IFLA_MACVLAN_FLAGS,
334    IFLA_MACVLAN_MACADDR_MODE,
335    IFLA_MACVLAN_MACADDR,
336    IFLA_MACVLAN_MACADDR_DATA,
337    IFLA_MACVLAN_MACADDR_COUNT,
338    IFLA_MACVLAN_BC_QUEUE_LEN,
339    IFLA_MACVLAN_BC_QUEUE_LEN_USED,
340    __IFLA_MACVLAN_MAX,
341  };
342  #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
343  enum macvlan_mode {
344    MACVLAN_MODE_PRIVATE = 1,
345    MACVLAN_MODE_VEPA = 2,
346    MACVLAN_MODE_BRIDGE = 4,
347    MACVLAN_MODE_PASSTHRU = 8,
348    MACVLAN_MODE_SOURCE = 16,
349  };
350  enum macvlan_macaddr_mode {
351    MACVLAN_MACADDR_ADD,
352    MACVLAN_MACADDR_DEL,
353    MACVLAN_MACADDR_FLUSH,
354    MACVLAN_MACADDR_SET,
355  };
356  #define MACVLAN_FLAG_NOPROMISC 1
357  enum {
358    IFLA_VRF_UNSPEC,
359    IFLA_VRF_TABLE,
360    __IFLA_VRF_MAX
361  };
362  #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
363  enum {
364    IFLA_VRF_PORT_UNSPEC,
365    IFLA_VRF_PORT_TABLE,
366    __IFLA_VRF_PORT_MAX
367  };
368  #define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
369  enum {
370    IFLA_MACSEC_UNSPEC,
371    IFLA_MACSEC_SCI,
372    IFLA_MACSEC_PORT,
373    IFLA_MACSEC_ICV_LEN,
374    IFLA_MACSEC_CIPHER_SUITE,
375    IFLA_MACSEC_WINDOW,
376    IFLA_MACSEC_ENCODING_SA,
377    IFLA_MACSEC_ENCRYPT,
378    IFLA_MACSEC_PROTECT,
379    IFLA_MACSEC_INC_SCI,
380    IFLA_MACSEC_ES,
381    IFLA_MACSEC_SCB,
382    IFLA_MACSEC_REPLAY_PROTECT,
383    IFLA_MACSEC_VALIDATION,
384    IFLA_MACSEC_PAD,
385    IFLA_MACSEC_OFFLOAD,
386    __IFLA_MACSEC_MAX,
387  };
388  #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
389  enum {
390    IFLA_XFRM_UNSPEC,
391    IFLA_XFRM_LINK,
392    IFLA_XFRM_IF_ID,
393    __IFLA_XFRM_MAX
394  };
395  #define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1)
396  enum macsec_validation_type {
397    MACSEC_VALIDATE_DISABLED = 0,
398    MACSEC_VALIDATE_CHECK = 1,
399    MACSEC_VALIDATE_STRICT = 2,
400    __MACSEC_VALIDATE_END,
401    MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
402  };
403  enum macsec_offload {
404    MACSEC_OFFLOAD_OFF = 0,
405    MACSEC_OFFLOAD_PHY = 1,
406    MACSEC_OFFLOAD_MAC = 2,
407    __MACSEC_OFFLOAD_END,
408    MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1,
409  };
410  enum {
411    IFLA_IPVLAN_UNSPEC,
412    IFLA_IPVLAN_MODE,
413    IFLA_IPVLAN_FLAGS,
414    __IFLA_IPVLAN_MAX
415  };
416  #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
417  enum ipvlan_mode {
418    IPVLAN_MODE_L2 = 0,
419    IPVLAN_MODE_L3,
420    IPVLAN_MODE_L3S,
421    IPVLAN_MODE_MAX
422  };
423  #define IPVLAN_F_PRIVATE 0x01
424  #define IPVLAN_F_VEPA 0x02
425  enum {
426    IFLA_VXLAN_UNSPEC,
427    IFLA_VXLAN_ID,
428    IFLA_VXLAN_GROUP,
429    IFLA_VXLAN_LINK,
430    IFLA_VXLAN_LOCAL,
431    IFLA_VXLAN_TTL,
432    IFLA_VXLAN_TOS,
433    IFLA_VXLAN_LEARNING,
434    IFLA_VXLAN_AGEING,
435    IFLA_VXLAN_LIMIT,
436    IFLA_VXLAN_PORT_RANGE,
437    IFLA_VXLAN_PROXY,
438    IFLA_VXLAN_RSC,
439    IFLA_VXLAN_L2MISS,
440    IFLA_VXLAN_L3MISS,
441    IFLA_VXLAN_PORT,
442    IFLA_VXLAN_GROUP6,
443    IFLA_VXLAN_LOCAL6,
444    IFLA_VXLAN_UDP_CSUM,
445    IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
446    IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
447    IFLA_VXLAN_REMCSUM_TX,
448    IFLA_VXLAN_REMCSUM_RX,
449    IFLA_VXLAN_GBP,
450    IFLA_VXLAN_REMCSUM_NOPARTIAL,
451    IFLA_VXLAN_COLLECT_METADATA,
452    IFLA_VXLAN_LABEL,
453    IFLA_VXLAN_GPE,
454    IFLA_VXLAN_TTL_INHERIT,
455    IFLA_VXLAN_DF,
456    __IFLA_VXLAN_MAX
457  };
458  #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
459  struct ifla_vxlan_port_range {
460    __be16 low;
461    __be16 high;
462  };
463  enum ifla_vxlan_df {
464    VXLAN_DF_UNSET = 0,
465    VXLAN_DF_SET,
466    VXLAN_DF_INHERIT,
467    __VXLAN_DF_END,
468    VXLAN_DF_MAX = __VXLAN_DF_END - 1,
469  };
470  enum {
471    IFLA_GENEVE_UNSPEC,
472    IFLA_GENEVE_ID,
473    IFLA_GENEVE_REMOTE,
474    IFLA_GENEVE_TTL,
475    IFLA_GENEVE_TOS,
476    IFLA_GENEVE_PORT,
477    IFLA_GENEVE_COLLECT_METADATA,
478    IFLA_GENEVE_REMOTE6,
479    IFLA_GENEVE_UDP_CSUM,
480    IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
481    IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
482    IFLA_GENEVE_LABEL,
483    IFLA_GENEVE_TTL_INHERIT,
484    IFLA_GENEVE_DF,
485    __IFLA_GENEVE_MAX
486  };
487  #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
488  enum ifla_geneve_df {
489    GENEVE_DF_UNSET = 0,
490    GENEVE_DF_SET,
491    GENEVE_DF_INHERIT,
492    __GENEVE_DF_END,
493    GENEVE_DF_MAX = __GENEVE_DF_END - 1,
494  };
495  enum {
496    IFLA_BAREUDP_UNSPEC,
497    IFLA_BAREUDP_PORT,
498    IFLA_BAREUDP_ETHERTYPE,
499    IFLA_BAREUDP_SRCPORT_MIN,
500    IFLA_BAREUDP_MULTIPROTO_MODE,
501    __IFLA_BAREUDP_MAX
502  };
503  #define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1)
504  enum {
505    IFLA_PPP_UNSPEC,
506    IFLA_PPP_DEV_FD,
507    __IFLA_PPP_MAX
508  };
509  #define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
510  enum ifla_gtp_role {
511    GTP_ROLE_GGSN = 0,
512    GTP_ROLE_SGSN,
513  };
514  enum {
515    IFLA_GTP_UNSPEC,
516    IFLA_GTP_FD0,
517    IFLA_GTP_FD1,
518    IFLA_GTP_PDP_HASHSIZE,
519    IFLA_GTP_ROLE,
520    __IFLA_GTP_MAX,
521  };
522  #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
523  enum {
524    IFLA_BOND_UNSPEC,
525    IFLA_BOND_MODE,
526    IFLA_BOND_ACTIVE_SLAVE,
527    IFLA_BOND_MIIMON,
528    IFLA_BOND_UPDELAY,
529    IFLA_BOND_DOWNDELAY,
530    IFLA_BOND_USE_CARRIER,
531    IFLA_BOND_ARP_INTERVAL,
532    IFLA_BOND_ARP_IP_TARGET,
533    IFLA_BOND_ARP_VALIDATE,
534    IFLA_BOND_ARP_ALL_TARGETS,
535    IFLA_BOND_PRIMARY,
536    IFLA_BOND_PRIMARY_RESELECT,
537    IFLA_BOND_FAIL_OVER_MAC,
538    IFLA_BOND_XMIT_HASH_POLICY,
539    IFLA_BOND_RESEND_IGMP,
540    IFLA_BOND_NUM_PEER_NOTIF,
541    IFLA_BOND_ALL_SLAVES_ACTIVE,
542    IFLA_BOND_MIN_LINKS,
543    IFLA_BOND_LP_INTERVAL,
544    IFLA_BOND_PACKETS_PER_SLAVE,
545    IFLA_BOND_AD_LACP_RATE,
546    IFLA_BOND_AD_SELECT,
547    IFLA_BOND_AD_INFO,
548    IFLA_BOND_AD_ACTOR_SYS_PRIO,
549    IFLA_BOND_AD_USER_PORT_KEY,
550    IFLA_BOND_AD_ACTOR_SYSTEM,
551    IFLA_BOND_TLB_DYNAMIC_LB,
552    IFLA_BOND_PEER_NOTIF_DELAY,
553    __IFLA_BOND_MAX,
554  };
555  #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
556  enum {
557    IFLA_BOND_AD_INFO_UNSPEC,
558    IFLA_BOND_AD_INFO_AGGREGATOR,
559    IFLA_BOND_AD_INFO_NUM_PORTS,
560    IFLA_BOND_AD_INFO_ACTOR_KEY,
561    IFLA_BOND_AD_INFO_PARTNER_KEY,
562    IFLA_BOND_AD_INFO_PARTNER_MAC,
563    __IFLA_BOND_AD_INFO_MAX,
564  };
565  #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
566  enum {
567    IFLA_BOND_SLAVE_UNSPEC,
568    IFLA_BOND_SLAVE_STATE,
569    IFLA_BOND_SLAVE_MII_STATUS,
570    IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
571    IFLA_BOND_SLAVE_PERM_HWADDR,
572    IFLA_BOND_SLAVE_QUEUE_ID,
573    IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
574    IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
575    IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
576    __IFLA_BOND_SLAVE_MAX,
577  };
578  #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
579  enum {
580    IFLA_VF_INFO_UNSPEC,
581    IFLA_VF_INFO,
582    __IFLA_VF_INFO_MAX,
583  };
584  #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
585  enum {
586    IFLA_VF_UNSPEC,
587    IFLA_VF_MAC,
588    IFLA_VF_VLAN,
589    IFLA_VF_TX_RATE,
590    IFLA_VF_SPOOFCHK,
591    IFLA_VF_LINK_STATE,
592    IFLA_VF_RATE,
593    IFLA_VF_RSS_QUERY_EN,
594    IFLA_VF_STATS,
595    IFLA_VF_TRUST,
596    IFLA_VF_IB_NODE_GUID,
597    IFLA_VF_IB_PORT_GUID,
598    IFLA_VF_VLAN_LIST,
599    IFLA_VF_BROADCAST,
600    __IFLA_VF_MAX,
601  };
602  #define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
603  struct ifla_vf_mac {
604    __u32 vf;
605    __u8 mac[32];
606  };
607  struct ifla_vf_broadcast {
608    __u8 broadcast[32];
609  };
610  struct ifla_vf_vlan {
611    __u32 vf;
612    __u32 vlan;
613    __u32 qos;
614  };
615  enum {
616    IFLA_VF_VLAN_INFO_UNSPEC,
617    IFLA_VF_VLAN_INFO,
618    __IFLA_VF_VLAN_INFO_MAX,
619  };
620  #define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
621  #define MAX_VLAN_LIST_LEN 1
622  struct ifla_vf_vlan_info {
623    __u32 vf;
624    __u32 vlan;
625    __u32 qos;
626    __be16 vlan_proto;
627  };
628  struct ifla_vf_tx_rate {
629    __u32 vf;
630    __u32 rate;
631  };
632  struct ifla_vf_rate {
633    __u32 vf;
634    __u32 min_tx_rate;
635    __u32 max_tx_rate;
636  };
637  struct ifla_vf_spoofchk {
638    __u32 vf;
639    __u32 setting;
640  };
641  struct ifla_vf_guid {
642    __u32 vf;
643    __u64 guid;
644  };
645  enum {
646    IFLA_VF_LINK_STATE_AUTO,
647    IFLA_VF_LINK_STATE_ENABLE,
648    IFLA_VF_LINK_STATE_DISABLE,
649    __IFLA_VF_LINK_STATE_MAX,
650  };
651  struct ifla_vf_link_state {
652    __u32 vf;
653    __u32 link_state;
654  };
655  struct ifla_vf_rss_query_en {
656    __u32 vf;
657    __u32 setting;
658  };
659  enum {
660    IFLA_VF_STATS_RX_PACKETS,
661    IFLA_VF_STATS_TX_PACKETS,
662    IFLA_VF_STATS_RX_BYTES,
663    IFLA_VF_STATS_TX_BYTES,
664    IFLA_VF_STATS_BROADCAST,
665    IFLA_VF_STATS_MULTICAST,
666    IFLA_VF_STATS_PAD,
667    IFLA_VF_STATS_RX_DROPPED,
668    IFLA_VF_STATS_TX_DROPPED,
669    __IFLA_VF_STATS_MAX,
670  };
671  #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
672  struct ifla_vf_trust {
673    __u32 vf;
674    __u32 setting;
675  };
676  enum {
677    IFLA_VF_PORT_UNSPEC,
678    IFLA_VF_PORT,
679    __IFLA_VF_PORT_MAX,
680  };
681  #define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
682  enum {
683    IFLA_PORT_UNSPEC,
684    IFLA_PORT_VF,
685    IFLA_PORT_PROFILE,
686    IFLA_PORT_VSI_TYPE,
687    IFLA_PORT_INSTANCE_UUID,
688    IFLA_PORT_HOST_UUID,
689    IFLA_PORT_REQUEST,
690    IFLA_PORT_RESPONSE,
691    __IFLA_PORT_MAX,
692  };
693  #define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
694  #define PORT_PROFILE_MAX 40
695  #define PORT_UUID_MAX 16
696  #define PORT_SELF_VF - 1
697  enum {
698    PORT_REQUEST_PREASSOCIATE = 0,
699    PORT_REQUEST_PREASSOCIATE_RR,
700    PORT_REQUEST_ASSOCIATE,
701    PORT_REQUEST_DISASSOCIATE,
702  };
703  enum {
704    PORT_VDP_RESPONSE_SUCCESS = 0,
705    PORT_VDP_RESPONSE_INVALID_FORMAT,
706    PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
707    PORT_VDP_RESPONSE_UNUSED_VTID,
708    PORT_VDP_RESPONSE_VTID_VIOLATION,
709    PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
710    PORT_VDP_RESPONSE_OUT_OF_SYNC,
711    PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
712    PORT_PROFILE_RESPONSE_INPROGRESS,
713    PORT_PROFILE_RESPONSE_INVALID,
714    PORT_PROFILE_RESPONSE_BADSTATE,
715    PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
716    PORT_PROFILE_RESPONSE_ERROR,
717  };
718  struct ifla_port_vsi {
719    __u8 vsi_mgr_id;
720    __u8 vsi_type_id[3];
721    __u8 vsi_type_version;
722    __u8 pad[3];
723  };
724  enum {
725    IFLA_IPOIB_UNSPEC,
726    IFLA_IPOIB_PKEY,
727    IFLA_IPOIB_MODE,
728    IFLA_IPOIB_UMCAST,
729    __IFLA_IPOIB_MAX
730  };
731  enum {
732    IPOIB_MODE_DATAGRAM = 0,
733    IPOIB_MODE_CONNECTED = 1,
734  };
735  #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
736  enum {
737    HSR_PROTOCOL_HSR,
738    HSR_PROTOCOL_PRP,
739    HSR_PROTOCOL_MAX,
740  };
741  enum {
742    IFLA_HSR_UNSPEC,
743    IFLA_HSR_SLAVE1,
744    IFLA_HSR_SLAVE2,
745    IFLA_HSR_MULTICAST_SPEC,
746    IFLA_HSR_SUPERVISION_ADDR,
747    IFLA_HSR_SEQ_NR,
748    IFLA_HSR_VERSION,
749    IFLA_HSR_PROTOCOL,
750    __IFLA_HSR_MAX,
751  };
752  #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
753  struct if_stats_msg {
754    __u8 family;
755    __u8 pad1;
756    __u16 pad2;
757    __u32 ifindex;
758    __u32 filter_mask;
759  };
760  enum {
761    IFLA_STATS_UNSPEC,
762    IFLA_STATS_LINK_64,
763    IFLA_STATS_LINK_XSTATS,
764    IFLA_STATS_LINK_XSTATS_SLAVE,
765    IFLA_STATS_LINK_OFFLOAD_XSTATS,
766    IFLA_STATS_AF_SPEC,
767    __IFLA_STATS_MAX,
768  };
769  #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
770  #define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
771  enum {
772    LINK_XSTATS_TYPE_UNSPEC,
773    LINK_XSTATS_TYPE_BRIDGE,
774    LINK_XSTATS_TYPE_BOND,
775    __LINK_XSTATS_TYPE_MAX
776  };
777  #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
778  enum {
779    IFLA_OFFLOAD_XSTATS_UNSPEC,
780    IFLA_OFFLOAD_XSTATS_CPU_HIT,
781    __IFLA_OFFLOAD_XSTATS_MAX
782  };
783  #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
784  #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
785  #define XDP_FLAGS_SKB_MODE (1U << 1)
786  #define XDP_FLAGS_DRV_MODE (1U << 2)
787  #define XDP_FLAGS_HW_MODE (1U << 3)
788  #define XDP_FLAGS_REPLACE (1U << 4)
789  #define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | XDP_FLAGS_DRV_MODE | XDP_FLAGS_HW_MODE)
790  #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_MODES | XDP_FLAGS_REPLACE)
791  enum {
792    XDP_ATTACHED_NONE = 0,
793    XDP_ATTACHED_DRV,
794    XDP_ATTACHED_SKB,
795    XDP_ATTACHED_HW,
796    XDP_ATTACHED_MULTI,
797  };
798  enum {
799    IFLA_XDP_UNSPEC,
800    IFLA_XDP_FD,
801    IFLA_XDP_ATTACHED,
802    IFLA_XDP_FLAGS,
803    IFLA_XDP_PROG_ID,
804    IFLA_XDP_DRV_PROG_ID,
805    IFLA_XDP_SKB_PROG_ID,
806    IFLA_XDP_HW_PROG_ID,
807    IFLA_XDP_EXPECTED_FD,
808    __IFLA_XDP_MAX,
809  };
810  #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
811  enum {
812    IFLA_EVENT_NONE,
813    IFLA_EVENT_REBOOT,
814    IFLA_EVENT_FEATURES,
815    IFLA_EVENT_BONDING_FAILOVER,
816    IFLA_EVENT_NOTIFY_PEERS,
817    IFLA_EVENT_IGMP_RESEND,
818    IFLA_EVENT_BONDING_OPTIONS,
819  };
820  enum {
821    IFLA_TUN_UNSPEC,
822    IFLA_TUN_OWNER,
823    IFLA_TUN_GROUP,
824    IFLA_TUN_TYPE,
825    IFLA_TUN_PI,
826    IFLA_TUN_VNET_HDR,
827    IFLA_TUN_PERSIST,
828    IFLA_TUN_MULTI_QUEUE,
829    IFLA_TUN_NUM_QUEUES,
830    IFLA_TUN_NUM_DISABLED_QUEUES,
831    __IFLA_TUN_MAX,
832  };
833  #define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1)
834  #define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0)
835  #define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
836  #define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
837  #define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
838  enum {
839    IFLA_RMNET_UNSPEC,
840    IFLA_RMNET_MUX_ID,
841    IFLA_RMNET_FLAGS,
842    __IFLA_RMNET_MAX,
843  };
844  #define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1)
845  struct ifla_rmnet_flags {
846    __u32 flags;
847    __u32 mask;
848  };
849  #endif
850