neighbour.h
001: #ifndef __LINUX_NEIGHBOUR_H
002: #define __LINUX_NEIGHBOUR_H
003:
004: #include <linux/types.h>
005: #include <linux/netlink.h>
006:
007: struct ndmsg {
008: __u8 ndm_family;
009: __u8 ndm_pad1;
010: __u16 ndm_pad2;
011: __s32 ndm_ifindex;
012: __u16 ndm_state;
013: __u8 ndm_flags;
014: __u8 ndm_type;
015: };
016:
017: enum {
018: NDA_UNSPEC,
019: NDA_DST,
020: NDA_LLADDR,
021: NDA_CACHEINFO,
022: NDA_PROBES,
023: __NDA_MAX
024: };
025:
026: #define NDA_MAX (__NDA_MAX - 1)
027:
028:
029:
030:
031:
032: #define NTF_USE 0x01
033: #define NTF_PROXY 0x08
034: #define NTF_ROUTER 0x80
035:
036:
037:
038:
039:
040: #define NUD_INCOMPLETE 0x01
041: #define NUD_REACHABLE 0x02
042: #define NUD_STALE 0x04
043: #define NUD_DELAY 0x08
044: #define NUD_PROBE 0x10
045: #define NUD_FAILED 0x20
046:
047:
048: #define NUD_NOARP 0x40
049: #define NUD_PERMANENT 0x80
050: #define NUD_NONE 0x00
051:
052:
053:
054:
055:
056:
057: struct nda_cacheinfo {
058: __u32 ndm_confirmed;
059: __u32 ndm_used;
060: __u32 ndm_updated;
061: __u32 ndm_refcnt;
062: };
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089: struct ndt_stats {
090: __u64 ndts_allocs;
091: __u64 ndts_destroys;
092: __u64 ndts_hash_grows;
093: __u64 ndts_res_failed;
094: __u64 ndts_lookups;
095: __u64 ndts_hits;
096: __u64 ndts_rcv_probes_mcast;
097: __u64 ndts_rcv_probes_ucast;
098: __u64 ndts_periodic_gc_runs;
099: __u64 ndts_forced_gc_runs;
100: };
101:
102: enum {
103: NDTPA_UNSPEC,
104: NDTPA_IFINDEX,
105: NDTPA_REFCNT,
106: NDTPA_REACHABLE_TIME,
107: NDTPA_BASE_REACHABLE_TIME,
108: NDTPA_RETRANS_TIME,
109: NDTPA_GC_STALETIME,
110: NDTPA_DELAY_PROBE_TIME,
111: NDTPA_QUEUE_LEN,
112: NDTPA_APP_PROBES,
113: NDTPA_UCAST_PROBES,
114: NDTPA_MCAST_PROBES,
115: NDTPA_ANYCAST_DELAY,
116: NDTPA_PROXY_DELAY,
117: NDTPA_PROXY_QLEN,
118: NDTPA_LOCKTIME,
119: __NDTPA_MAX
120: };
121: #define NDTPA_MAX (__NDTPA_MAX - 1)
122:
123: struct ndtmsg {
124: __u8 ndtm_family;
125: __u8 ndtm_pad1;
126: __u16 ndtm_pad2;
127: };
128:
129: struct ndt_config {
130: __u16 ndtc_key_len;
131: __u16 ndtc_entry_size;
132: __u32 ndtc_entries;
133: __u32 ndtc_last_flush;
134: __u32 ndtc_last_rand;
135: __u32 ndtc_hash_rnd;
136: __u32 ndtc_hash_mask;
137: __u32 ndtc_hash_chain_gc;
138: __u32 ndtc_proxy_qlen;
139: };
140:
141: enum {
142: NDTA_UNSPEC,
143: NDTA_NAME,
144: NDTA_THRESH1,
145: NDTA_THRESH2,
146: NDTA_THRESH3,
147: NDTA_CONFIG,
148: NDTA_PARMS,
149: NDTA_STATS,
150: NDTA_GC_INTERVAL,
151: __NDTA_MAX
152: };
153: #define NDTA_MAX (__NDTA_MAX - 1)
154:
155: #endif
156:
© Andrew Scott 2006 -
2025,
All Rights Reserved