[NEIGH]: Move netlink neighbour bits to linux/neighbour.h
[pandora-kernel.git] / include / linux / neighbour.h
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