• Home
  • 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_RTNETLINK_H
20 #define _UAPI__LINUX_RTNETLINK_H
21 #include <linux/types.h>
22 #include <linux/netlink.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/if_link.h>
25 #include <linux/if_addr.h>
26 #include <linux/neighbour.h>
27 #define RTNL_FAMILY_IPMR 128
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define RTNL_FAMILY_IP6MR 129
30 #define RTNL_FAMILY_MAX 129
31 enum {
32  RTM_BASE = 16,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define RTM_BASE RTM_BASE
35  RTM_NEWLINK = 16,
36 #define RTM_NEWLINK RTM_NEWLINK
37  RTM_DELLINK,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define RTM_DELLINK RTM_DELLINK
40  RTM_GETLINK,
41 #define RTM_GETLINK RTM_GETLINK
42  RTM_SETLINK,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define RTM_SETLINK RTM_SETLINK
45  RTM_NEWADDR = 20,
46 #define RTM_NEWADDR RTM_NEWADDR
47  RTM_DELADDR,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define RTM_DELADDR RTM_DELADDR
50  RTM_GETADDR,
51 #define RTM_GETADDR RTM_GETADDR
52  RTM_NEWROUTE = 24,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define RTM_NEWROUTE RTM_NEWROUTE
55  RTM_DELROUTE,
56 #define RTM_DELROUTE RTM_DELROUTE
57  RTM_GETROUTE,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define RTM_GETROUTE RTM_GETROUTE
60  RTM_NEWNEIGH = 28,
61 #define RTM_NEWNEIGH RTM_NEWNEIGH
62  RTM_DELNEIGH,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define RTM_DELNEIGH RTM_DELNEIGH
65  RTM_GETNEIGH,
66 #define RTM_GETNEIGH RTM_GETNEIGH
67  RTM_NEWRULE = 32,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define RTM_NEWRULE RTM_NEWRULE
70  RTM_DELRULE,
71 #define RTM_DELRULE RTM_DELRULE
72  RTM_GETRULE,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define RTM_GETRULE RTM_GETRULE
75  RTM_NEWQDISC = 36,
76 #define RTM_NEWQDISC RTM_NEWQDISC
77  RTM_DELQDISC,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define RTM_DELQDISC RTM_DELQDISC
80  RTM_GETQDISC,
81 #define RTM_GETQDISC RTM_GETQDISC
82  RTM_NEWTCLASS = 40,
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define RTM_NEWTCLASS RTM_NEWTCLASS
85  RTM_DELTCLASS,
86 #define RTM_DELTCLASS RTM_DELTCLASS
87  RTM_GETTCLASS,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define RTM_GETTCLASS RTM_GETTCLASS
90  RTM_NEWTFILTER = 44,
91 #define RTM_NEWTFILTER RTM_NEWTFILTER
92  RTM_DELTFILTER,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define RTM_DELTFILTER RTM_DELTFILTER
95  RTM_GETTFILTER,
96 #define RTM_GETTFILTER RTM_GETTFILTER
97  RTM_NEWACTION = 48,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define RTM_NEWACTION RTM_NEWACTION
100  RTM_DELACTION,
101 #define RTM_DELACTION RTM_DELACTION
102  RTM_GETACTION,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define RTM_GETACTION RTM_GETACTION
105  RTM_NEWPREFIX = 52,
106 #define RTM_NEWPREFIX RTM_NEWPREFIX
107  RTM_GETMULTICAST = 58,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define RTM_GETMULTICAST RTM_GETMULTICAST
110  RTM_GETANYCAST = 62,
111 #define RTM_GETANYCAST RTM_GETANYCAST
112  RTM_NEWNEIGHTBL = 64,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define RTM_NEWNEIGHTBL RTM_NEWNEIGHTBL
115  RTM_GETNEIGHTBL = 66,
116 #define RTM_GETNEIGHTBL RTM_GETNEIGHTBL
117  RTM_SETNEIGHTBL,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define RTM_SETNEIGHTBL RTM_SETNEIGHTBL
120  RTM_NEWNDUSEROPT = 68,
121 #define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
122  RTM_NEWADDRLABEL = 72,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
125  RTM_DELADDRLABEL,
126 #define RTM_DELADDRLABEL RTM_DELADDRLABEL
127  RTM_GETADDRLABEL,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #define RTM_GETADDRLABEL RTM_GETADDRLABEL
130  RTM_GETDCB = 78,
131 #define RTM_GETDCB RTM_GETDCB
132  RTM_SETDCB,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 #define RTM_SETDCB RTM_SETDCB
135  RTM_NEWNETCONF = 80,
136 #define RTM_NEWNETCONF RTM_NEWNETCONF
137  RTM_GETNETCONF = 82,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define RTM_GETNETCONF RTM_GETNETCONF
140  RTM_NEWMDB = 84,
141 #define RTM_NEWMDB RTM_NEWMDB
142  RTM_DELMDB = 85,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define RTM_DELMDB RTM_DELMDB
145  RTM_GETMDB = 86,
146 #define RTM_GETMDB RTM_GETMDB
147  __RTM_MAX,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
150 };
151 #define RTM_NR_MSGTYPES (RTM_MAX + 1 - RTM_BASE)
152 #define RTM_NR_FAMILIES (RTM_NR_MSGTYPES >> 2)
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define RTM_FAM(cmd) (((cmd) - RTM_BASE) >> 2)
155 struct rtattr {
156  unsigned short rta_len;
157  unsigned short rta_type;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 };
160 #define RTA_ALIGNTO 4
161 #define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) )
162 #define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) &&   (rta)->rta_len >= sizeof(struct rtattr) &&   (rta)->rta_len <= (len))
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 #define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len),   (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rta)->rta_len)))
165 #define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len))
166 #define RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len))
167 #define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0)))
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 #define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0))
170 struct rtmsg {
171  unsigned char rtm_family;
172  unsigned char rtm_dst_len;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  unsigned char rtm_src_len;
175  unsigned char rtm_tos;
176  unsigned char rtm_table;
177  unsigned char rtm_protocol;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  unsigned char rtm_scope;
180  unsigned char rtm_type;
181  unsigned rtm_flags;
182 };
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 enum {
185  RTN_UNSPEC,
186  RTN_UNICAST,
187  RTN_LOCAL,
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  RTN_BROADCAST,
190  RTN_ANYCAST,
191  RTN_MULTICAST,
192  RTN_BLACKHOLE,
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  RTN_UNREACHABLE,
195  RTN_PROHIBIT,
196  RTN_THROW,
197  RTN_NAT,
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  RTN_XRESOLVE,
200  __RTN_MAX
201 };
202 #define RTN_MAX (__RTN_MAX - 1)
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define RTPROT_UNSPEC 0
205 #define RTPROT_REDIRECT 1
206 #define RTPROT_KERNEL 2
207 #define RTPROT_BOOT 3
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 #define RTPROT_STATIC 4
210 #define RTPROT_GATED 8
211 #define RTPROT_RA 9
212 #define RTPROT_MRT 10
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 #define RTPROT_ZEBRA 11
215 #define RTPROT_BIRD 12
216 #define RTPROT_DNROUTED 13
217 #define RTPROT_XORP 14
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 #define RTPROT_NTK 15
220 #define RTPROT_DHCP 16
221 #define RTPROT_MROUTED 17
222 enum rt_scope_t {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  RT_SCOPE_UNIVERSE=0,
225  RT_SCOPE_SITE=200,
226  RT_SCOPE_LINK=253,
227  RT_SCOPE_HOST=254,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  RT_SCOPE_NOWHERE=255
230 };
231 #define RTM_F_NOTIFY 0x100
232 #define RTM_F_CLONED 0x200
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 #define RTM_F_EQUALIZE 0x400
235 #define RTM_F_PREFIX 0x800
236 enum rt_class_t {
237  RT_TABLE_UNSPEC=0,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  RT_TABLE_COMPAT=252,
240  RT_TABLE_DEFAULT=253,
241  RT_TABLE_MAIN=254,
242  RT_TABLE_LOCAL=255,
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  RT_TABLE_MAX=0xFFFFFFFF
245 };
246 enum rtattr_type_t {
247  RTA_UNSPEC,
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  RTA_DST,
250  RTA_SRC,
251  RTA_IIF,
252  RTA_OIF,
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  RTA_GATEWAY,
255  RTA_PRIORITY,
256  RTA_PREFSRC,
257  RTA_METRICS,
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  RTA_MULTIPATH,
260  RTA_PROTOINFO,
261  RTA_FLOW,
262  RTA_CACHEINFO,
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  RTA_SESSION,
265  RTA_MP_ALGO,
266  RTA_TABLE,
267  RTA_MARK,
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  RTA_MFC_STATS,
270  __RTA_MAX
271 };
272 #define RTA_MAX (__RTA_MAX - 1)
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 #define RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg))))
275 #define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg))
276 struct rtnexthop {
277  unsigned short rtnh_len;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  unsigned char rtnh_flags;
280  unsigned char rtnh_hops;
281  int rtnh_ifindex;
282 };
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 #define RTNH_F_DEAD 1
285 #define RTNH_F_PERVASIVE 2
286 #define RTNH_F_ONLINK 4
287 #define RTNH_ALIGNTO 4
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 #define RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) )
290 #define RTNH_OK(rtnh,len) ((rtnh)->rtnh_len >= sizeof(struct rtnexthop) &&   ((int)(rtnh)->rtnh_len) <= (len))
291 #define RTNH_NEXT(rtnh) ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len)))
292 #define RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len))
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len))
295 #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0)))
296 struct rta_cacheinfo {
297  __u32 rta_clntref;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __u32 rta_lastuse;
300  __s32 rta_expires;
301  __u32 rta_error;
302  __u32 rta_used;
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 #define RTNETLINK_HAVE_PEERINFO 1
305  __u32 rta_id;
306  __u32 rta_ts;
307  __u32 rta_tsage;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 };
310 enum {
311  RTAX_UNSPEC,
312 #define RTAX_UNSPEC RTAX_UNSPEC
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  RTAX_LOCK,
315 #define RTAX_LOCK RTAX_LOCK
316  RTAX_MTU,
317 #define RTAX_MTU RTAX_MTU
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  RTAX_WINDOW,
320 #define RTAX_WINDOW RTAX_WINDOW
321  RTAX_RTT,
322 #define RTAX_RTT RTAX_RTT
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  RTAX_RTTVAR,
325 #define RTAX_RTTVAR RTAX_RTTVAR
326  RTAX_SSTHRESH,
327 #define RTAX_SSTHRESH RTAX_SSTHRESH
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  RTAX_CWND,
330 #define RTAX_CWND RTAX_CWND
331  RTAX_ADVMSS,
332 #define RTAX_ADVMSS RTAX_ADVMSS
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  RTAX_REORDERING,
335 #define RTAX_REORDERING RTAX_REORDERING
336  RTAX_HOPLIMIT,
337 #define RTAX_HOPLIMIT RTAX_HOPLIMIT
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  RTAX_INITCWND,
340 #define RTAX_INITCWND RTAX_INITCWND
341  RTAX_FEATURES,
342 #define RTAX_FEATURES RTAX_FEATURES
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  RTAX_RTO_MIN,
345 #define RTAX_RTO_MIN RTAX_RTO_MIN
346  RTAX_INITRWND,
347 #define RTAX_INITRWND RTAX_INITRWND
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  __RTAX_MAX
350 };
351 #define RTAX_MAX (__RTAX_MAX - 1)
352 #define RTAX_FEATURE_ECN 0x00000001
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 #define RTAX_FEATURE_SACK 0x00000002
355 #define RTAX_FEATURE_TIMESTAMP 0x00000004
356 #define RTAX_FEATURE_ALLFRAG 0x00000008
357 struct rta_session {
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  __u8 proto;
360  __u8 pad1;
361  __u16 pad2;
362  union {
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  struct {
365  __u16 sport;
366  __u16 dport;
367  } ports;
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  struct {
370  __u8 type;
371  __u8 code;
372  __u16 ident;
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  } icmpt;
375  __u32 spi;
376  } u;
377 };
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 struct rta_mfc_stats {
380  __u64 mfcs_packets;
381  __u64 mfcs_bytes;
382  __u64 mfcs_wrong_if;
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 };
385 struct rtgenmsg {
386  unsigned char rtgen_family;
387 };
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 struct ifinfomsg {
390  unsigned char ifi_family;
391  unsigned char __ifi_pad;
392  unsigned short ifi_type;
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  int ifi_index;
395  unsigned ifi_flags;
396  unsigned ifi_change;
397 };
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 struct prefixmsg {
400  unsigned char prefix_family;
401  unsigned char prefix_pad1;
402  unsigned short prefix_pad2;
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  int prefix_ifindex;
405  unsigned char prefix_type;
406  unsigned char prefix_len;
407  unsigned char prefix_flags;
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  unsigned char prefix_pad3;
410 };
411 enum
412 {
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  PREFIX_UNSPEC,
415  PREFIX_ADDRESS,
416  PREFIX_CACHEINFO,
417  __PREFIX_MAX
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419 };
420 #define PREFIX_MAX (__PREFIX_MAX - 1)
421 struct prefix_cacheinfo {
422  __u32 preferred_time;
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  __u32 valid_time;
425 };
426 struct tcmsg {
427  unsigned char tcm_family;
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  unsigned char tcm__pad1;
430  unsigned short tcm__pad2;
431  int tcm_ifindex;
432  __u32 tcm_handle;
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  __u32 tcm_parent;
435  __u32 tcm_info;
436 };
437 enum {
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439  TCA_UNSPEC,
440  TCA_KIND,
441  TCA_OPTIONS,
442  TCA_STATS,
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  TCA_XSTATS,
445  TCA_RATE,
446  TCA_FCNT,
447  TCA_STATS2,
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  TCA_STAB,
450  __TCA_MAX
451 };
452 #define TCA_MAX (__TCA_MAX - 1)
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 #define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
455 #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
456 struct nduseroptmsg {
457  unsigned char nduseropt_family;
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459  unsigned char nduseropt_pad1;
460  unsigned short nduseropt_opts_len;
461  int nduseropt_ifindex;
462  __u8 nduseropt_icmp_type;
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464  __u8 nduseropt_icmp_code;
465  unsigned short nduseropt_pad2;
466  unsigned int nduseropt_pad3;
467 };
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 enum {
470  NDUSEROPT_UNSPEC,
471  NDUSEROPT_SRCADDR,
472  __NDUSEROPT_MAX
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 };
475 #define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1)
476 #define RTMGRP_LINK 1
477 #define RTMGRP_NOTIFY 2
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 #define RTMGRP_NEIGH 4
480 #define RTMGRP_TC 8
481 #define RTMGRP_IPV4_IFADDR 0x10
482 #define RTMGRP_IPV4_MROUTE 0x20
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 #define RTMGRP_IPV4_ROUTE 0x40
485 #define RTMGRP_IPV4_RULE 0x80
486 #define RTMGRP_IPV6_IFADDR 0x100
487 #define RTMGRP_IPV6_MROUTE 0x200
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 #define RTMGRP_IPV6_ROUTE 0x400
490 #define RTMGRP_IPV6_IFINFO 0x800
491 #define RTMGRP_DECnet_IFADDR 0x1000
492 #define RTMGRP_DECnet_ROUTE 0x4000
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 #define RTMGRP_IPV6_PREFIX 0x20000
495 enum rtnetlink_groups {
496  RTNLGRP_NONE,
497 #define RTNLGRP_NONE RTNLGRP_NONE
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  RTNLGRP_LINK,
500 #define RTNLGRP_LINK RTNLGRP_LINK
501  RTNLGRP_NOTIFY,
502 #define RTNLGRP_NOTIFY RTNLGRP_NOTIFY
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504  RTNLGRP_NEIGH,
505 #define RTNLGRP_NEIGH RTNLGRP_NEIGH
506  RTNLGRP_TC,
507 #define RTNLGRP_TC RTNLGRP_TC
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509  RTNLGRP_IPV4_IFADDR,
510 #define RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_IFADDR
511  RTNLGRP_IPV4_MROUTE,
512 #define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514  RTNLGRP_IPV4_ROUTE,
515 #define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE
516  RTNLGRP_IPV4_RULE,
517 #define RTNLGRP_IPV4_RULE RTNLGRP_IPV4_RULE
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519  RTNLGRP_IPV6_IFADDR,
520 #define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR
521  RTNLGRP_IPV6_MROUTE,
522 #define RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_MROUTE
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  RTNLGRP_IPV6_ROUTE,
525 #define RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_ROUTE
526  RTNLGRP_IPV6_IFINFO,
527 #define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529  RTNLGRP_DECnet_IFADDR,
530 #define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR
531  RTNLGRP_NOP2,
532  RTNLGRP_DECnet_ROUTE,
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 #define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
535  RTNLGRP_DECnet_RULE,
536 #define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE
537  RTNLGRP_NOP4,
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539  RTNLGRP_IPV6_PREFIX,
540 #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
541  RTNLGRP_IPV6_RULE,
542 #define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544  RTNLGRP_ND_USEROPT,
545 #define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT
546  RTNLGRP_PHONET_IFADDR,
547 #define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549  RTNLGRP_PHONET_ROUTE,
550 #define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
551  RTNLGRP_DCB,
552 #define RTNLGRP_DCB RTNLGRP_DCB
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554  RTNLGRP_IPV4_NETCONF,
555 #define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF
556  RTNLGRP_IPV6_NETCONF,
557 #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559  RTNLGRP_MDB,
560 #define RTNLGRP_MDB RTNLGRP_MDB
561  __RTNLGRP_MAX
562 };
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 #define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
565 struct tcamsg {
566  unsigned char tca_family;
567  unsigned char tca__pad1;
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569  unsigned short tca__pad2;
570 };
571 #define TA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg))))
572 #define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg))
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574 #define TCA_ACT_TAB 1
575 #define TCAA_MAX 1
576 #define RTEXT_FILTER_VF (1 << 0)
577 #define RTEXT_FILTER_BRVLAN (1 << 1)
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 #endif
580