]>
Commit | Line | Data |
---|---|---|
9067c722 TG |
1 | #ifndef __LINUX_NEIGHBOUR_H |
2 | #define __LINUX_NEIGHBOUR_H | |
3 | ||
4 | #include <linux/netlink.h> | |
5 | ||
6 | struct ndmsg | |
7 | { | |
8 | __u8 ndm_family; | |
9 | __u8 ndm_pad1; | |
10 | __u16 ndm_pad2; | |
11 | __s32 ndm_ifindex; | |
12 | __u16 ndm_state; | |
13 | __u8 ndm_flags; | |
14 | __u8 ndm_type; | |
15 | }; | |
16 | ||
17 | enum | |
18 | { | |
19 | NDA_UNSPEC, | |
20 | NDA_DST, | |
21 | NDA_LLADDR, | |
22 | NDA_CACHEINFO, | |
23 | NDA_PROBES, | |
24 | __NDA_MAX | |
25 | }; | |
26 | ||
27 | #define NDA_MAX (__NDA_MAX - 1) | |
28 | ||
29 | /* | |
30 | * Neighbor Cache Entry Flags | |
31 | */ | |
32 | ||
33 | #define NTF_PROXY 0x08 /* == ATF_PUBL */ | |
34 | #define NTF_ROUTER 0x80 | |
35 | ||
36 | /* | |
37 | * Neighbor Cache Entry States. | |
38 | */ | |
39 | ||
40 | #define NUD_INCOMPLETE 0x01 | |
41 | #define NUD_REACHABLE 0x02 | |
42 | #define NUD_STALE 0x04 | |
43 | #define NUD_DELAY 0x08 | |
44 | #define NUD_PROBE 0x10 | |
45 | #define NUD_FAILED 0x20 | |
46 | ||
47 | /* Dummy states */ | |
48 | #define NUD_NOARP 0x40 | |
49 | #define NUD_PERMANENT 0x80 | |
50 | #define NUD_NONE 0x00 | |
51 | ||
52 | /* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change | |
53 | and make no address resolution or NUD. | |
54 | NUD_PERMANENT is also cannot be deleted by garbage collectors. | |
55 | */ | |
56 | ||
57 | struct nda_cacheinfo | |
58 | { | |
59 | __u32 ndm_confirmed; | |
60 | __u32 ndm_used; | |
61 | __u32 ndm_updated; | |
62 | __u32 ndm_refcnt; | |
63 | }; | |
64 | ||
65 | #endif |