neighbour.h revision 525ce914edf136d2bd02ac8c404d56c52e737f4d
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
5305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define NTF_ROUTER 0x80
54ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_INCOMPLETE 0x01
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_REACHABLE 0x02
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_STALE 0x04
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_DELAY 0x08
58ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_PROBE 0x10
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_FAILED 0x20
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_NOARP 0x40
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NUD_PERMANENT 0x80
62ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NUD_NONE 0x00
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct nda_cacheinfo {
64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_confirmed;
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_used;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_updated;
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndm_refcnt;
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ndt_stats {
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_allocs;
71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_destroys;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_hash_grows;
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_res_failed;
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_lookups;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_hits;
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_rcv_probes_mcast;
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_rcv_probes_ucast;
78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_periodic_gc_runs;
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ndts_forced_gc_runs;
8005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u64 ndts_table_fulls;
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum {
83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_UNSPEC,
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_IFINDEX,
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_REFCNT,
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_REACHABLE_TIME,
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_BASE_REACHABLE_TIME,
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_RETRANS_TIME,
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_GC_STALETIME,
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_DELAY_PROBE_TIME,
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_QUEUE_LEN,
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_APP_PROBES,
93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_UCAST_PROBES,
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_MCAST_PROBES,
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_ANYCAST_DELAY,
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_PROXY_DELAY,
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_PROXY_QLEN,
98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_LOCKTIME,
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTPA_QUEUE_LENBYTES,
10005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  NDTPA_MCAST_REPROBES,
101106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTPA_PAD,
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __NDTPA_MAX
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
104106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define NDTPA_MAX (__NDTPA_MAX - 1)
105ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct ndtmsg {
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndtm_family;
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ndtm_pad1;
108106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u16 ndtm_pad2;
109ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris};
110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct ndt_config {
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 ndtc_key_len;
112106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u16 ndtc_entry_size;
113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_entries;
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_last_flush;
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_last_rand;
116106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ndtc_hash_rnd;
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_hash_mask;
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_hash_chain_gc;
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ndtc_proxy_qlen;
120106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
121ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisenum {
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_UNSPEC,
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_NAME,
124106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_THRESH1,
125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_THRESH2,
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_THRESH3,
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_CONFIG,
128106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_PARMS,
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_STATS,
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  NDTA_GC_INTERVAL,
131106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  NDTA_PAD,
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __NDTA_MAX
133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
134ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define NDTA_MAX (__NDTA_MAX - 1)
135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
136