rtnetlink.h revision 38062f954c637861348dd8078cefb73554e6f12c
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
31enum {
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)
155struct 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))
170struct 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 */
184enum {
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
222enum 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
236enum 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};
246enum 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))
276struct 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)))
296struct 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};
310enum {
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_QUICKACK,
350#define RTAX_QUICKACK RTAX_QUICKACK
351 __RTAX_MAX
352};
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354#define RTAX_MAX (__RTAX_MAX - 1)
355#define RTAX_FEATURE_ECN 0x00000001
356#define RTAX_FEATURE_SACK 0x00000002
357#define RTAX_FEATURE_TIMESTAMP 0x00000004
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359#define RTAX_FEATURE_ALLFRAG 0x00000008
360struct rta_session {
361 __u8 proto;
362 __u8 pad1;
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 __u16 pad2;
365 union {
366 struct {
367 __u16 sport;
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 __u16 dport;
370 } ports;
371 struct {
372 __u8 type;
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 __u8 code;
375 __u16 ident;
376 } icmpt;
377 __u32 spi;
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 } u;
380};
381struct rta_mfc_stats {
382 __u64 mfcs_packets;
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 __u64 mfcs_bytes;
385 __u64 mfcs_wrong_if;
386};
387struct rtgenmsg {
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 unsigned char rtgen_family;
390};
391struct ifinfomsg {
392 unsigned char ifi_family;
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 unsigned char __ifi_pad;
395 unsigned short ifi_type;
396 int ifi_index;
397 unsigned ifi_flags;
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 unsigned ifi_change;
400};
401struct prefixmsg {
402 unsigned char prefix_family;
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 unsigned char prefix_pad1;
405 unsigned short prefix_pad2;
406 int prefix_ifindex;
407 unsigned char prefix_type;
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 unsigned char prefix_len;
410 unsigned char prefix_flags;
411 unsigned char prefix_pad3;
412};
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414enum
415{
416 PREFIX_UNSPEC,
417 PREFIX_ADDRESS,
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419 PREFIX_CACHEINFO,
420 __PREFIX_MAX
421};
422#define PREFIX_MAX (__PREFIX_MAX - 1)
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424struct prefix_cacheinfo {
425 __u32 preferred_time;
426 __u32 valid_time;
427};
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429struct tcmsg {
430 unsigned char tcm_family;
431 unsigned char tcm__pad1;
432 unsigned short tcm__pad2;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 int tcm_ifindex;
435 __u32 tcm_handle;
436 __u32 tcm_parent;
437 __u32 tcm_info;
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439};
440enum {
441 TCA_UNSPEC,
442 TCA_KIND,
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 TCA_OPTIONS,
445 TCA_STATS,
446 TCA_XSTATS,
447 TCA_RATE,
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 TCA_FCNT,
450 TCA_STATS2,
451 TCA_STAB,
452 __TCA_MAX
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454};
455#define TCA_MAX (__TCA_MAX - 1)
456#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
457#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459struct nduseroptmsg {
460 unsigned char nduseropt_family;
461 unsigned char nduseropt_pad1;
462 unsigned short nduseropt_opts_len;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 int nduseropt_ifindex;
465 __u8 nduseropt_icmp_type;
466 __u8 nduseropt_icmp_code;
467 unsigned short nduseropt_pad2;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 unsigned int nduseropt_pad3;
470};
471enum {
472 NDUSEROPT_UNSPEC,
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 NDUSEROPT_SRCADDR,
475 __NDUSEROPT_MAX
476};
477#define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1)
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479#define RTMGRP_LINK 1
480#define RTMGRP_NOTIFY 2
481#define RTMGRP_NEIGH 4
482#define RTMGRP_TC 8
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484#define RTMGRP_IPV4_IFADDR 0x10
485#define RTMGRP_IPV4_MROUTE 0x20
486#define RTMGRP_IPV4_ROUTE 0x40
487#define RTMGRP_IPV4_RULE 0x80
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489#define RTMGRP_IPV6_IFADDR 0x100
490#define RTMGRP_IPV6_MROUTE 0x200
491#define RTMGRP_IPV6_ROUTE 0x400
492#define RTMGRP_IPV6_IFINFO 0x800
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494#define RTMGRP_DECnet_IFADDR 0x1000
495#define RTMGRP_DECnet_ROUTE 0x4000
496#define RTMGRP_IPV6_PREFIX 0x20000
497enum rtnetlink_groups {
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 RTNLGRP_NONE,
500#define RTNLGRP_NONE RTNLGRP_NONE
501 RTNLGRP_LINK,
502#define RTNLGRP_LINK RTNLGRP_LINK
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 RTNLGRP_NOTIFY,
505#define RTNLGRP_NOTIFY RTNLGRP_NOTIFY
506 RTNLGRP_NEIGH,
507#define RTNLGRP_NEIGH RTNLGRP_NEIGH
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 RTNLGRP_TC,
510#define RTNLGRP_TC RTNLGRP_TC
511 RTNLGRP_IPV4_IFADDR,
512#define RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_IFADDR
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 RTNLGRP_IPV4_MROUTE,
515#define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE
516 RTNLGRP_IPV4_ROUTE,
517#define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 RTNLGRP_IPV4_RULE,
520#define RTNLGRP_IPV4_RULE RTNLGRP_IPV4_RULE
521 RTNLGRP_IPV6_IFADDR,
522#define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 RTNLGRP_IPV6_MROUTE,
525#define RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_MROUTE
526 RTNLGRP_IPV6_ROUTE,
527#define RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_ROUTE
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 RTNLGRP_IPV6_IFINFO,
530#define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO
531 RTNLGRP_DECnet_IFADDR,
532#define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 RTNLGRP_NOP2,
535 RTNLGRP_DECnet_ROUTE,
536#define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
537 RTNLGRP_DECnet_RULE,
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539#define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE
540 RTNLGRP_NOP4,
541 RTNLGRP_IPV6_PREFIX,
542#define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 RTNLGRP_IPV6_RULE,
545#define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE
546 RTNLGRP_ND_USEROPT,
547#define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 RTNLGRP_PHONET_IFADDR,
550#define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR
551 RTNLGRP_PHONET_ROUTE,
552#define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 RTNLGRP_DCB,
555#define RTNLGRP_DCB RTNLGRP_DCB
556 RTNLGRP_IPV4_NETCONF,
557#define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 RTNLGRP_IPV6_NETCONF,
560#define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF
561 RTNLGRP_MDB,
562#define RTNLGRP_MDB RTNLGRP_MDB
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 __RTNLGRP_MAX
565};
566#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
567struct tcamsg {
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569 unsigned char tca_family;
570 unsigned char tca__pad1;
571 unsigned short tca__pad2;
572};
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574#define TA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg))))
575#define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg))
576#define TCA_ACT_TAB 1
577#define TCAA_MAX 1
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579#define RTEXT_FILTER_VF (1 << 0)
580#define RTEXT_FILTER_BRVLAN (1 << 1)
581#endif
582