1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef __LINUX_NEIGHBOUR_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define __LINUX_NEIGHBOUR_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/netlink.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ndmsg {
24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndm_family;
25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndm_pad1;
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 ndm_pad2;
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __s32 ndm_ifindex;
28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 ndm_state;
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndm_flags;
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndm_type;
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
33d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_UNSPEC,
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_DST,
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_LLADDR,
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_CACHEINFO,
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_PROBES,
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_VLAN,
39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_PORT,
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_VNI,
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_IFINDEX,
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDA_MASTER,
4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  NDA_LINK_NETNSID,
44525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris  NDA_SRC_VNI,
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __NDA_MAX
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NDA_MAX (__NDA_MAX - 1)
4805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define NTF_USE 0x01
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NTF_SELF 0x02
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NTF_MASTER 0x04
5105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define NTF_PROXY 0x08
5205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define NTF_EXT_LEARNED 0x10
531308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define NTF_OFFLOADED 0x20
5405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define NTF_ROUTER 0x80
55ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_INCOMPLETE 0x01
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_REACHABLE 0x02
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_STALE 0x04
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_DELAY 0x08
59ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_PROBE 0x10
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_FAILED 0x20
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_NOARP 0x40
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_PERMANENT 0x80
63ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_NONE 0x00
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct nda_cacheinfo {
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_confirmed;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_used;
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_updated;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_refcnt;
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ndt_stats {
71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_allocs;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_destroys;
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_hash_grows;
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_res_failed;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_lookups;
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_hits;
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_rcv_probes_mcast;
78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_rcv_probes_ucast;
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_periodic_gc_runs;
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_forced_gc_runs;
8105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u64 ndts_table_fulls;
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_UNSPEC,
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_IFINDEX,
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_REFCNT,
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_REACHABLE_TIME,
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_BASE_REACHABLE_TIME,
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_RETRANS_TIME,
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_GC_STALETIME,
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_DELAY_PROBE_TIME,
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_QUEUE_LEN,
93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_APP_PROBES,
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_UCAST_PROBES,
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_MCAST_PROBES,
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_ANYCAST_DELAY,
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_PROXY_DELAY,
98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_PROXY_QLEN,
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_LOCKTIME,
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_QUEUE_LENBYTES,
10105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  NDTPA_MCAST_REPROBES,
102106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTPA_PAD,
103d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __NDTPA_MAX
104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
105106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define NDTPA_MAX (__NDTPA_MAX - 1)
106ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ndtmsg {
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndtm_family;
108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndtm_pad1;
109106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u16 ndtm_pad2;
110ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ndt_config {
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 ndtc_key_len;
113106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u16 ndtc_entry_size;
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_entries;
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_last_flush;
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_last_rand;
117106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ndtc_hash_rnd;
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_hash_mask;
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_hash_chain_gc;
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_proxy_qlen;
121106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
122ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_UNSPEC,
124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_NAME,
125106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_THRESH1,
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_THRESH2,
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_THRESH3,
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_CONFIG,
129106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_PARMS,
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_STATS,
131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_GC_INTERVAL,
132106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_PAD,
133d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __NDTA_MAX
134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
135ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NDTA_MAX (__NDTA_MAX - 1)
136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
137