| #ifndef __LINUX_NEIGHBOUR_H |
| #define __LINUX_NEIGHBOUR_H |
| |
| #include <linux/netlink.h> |
| |
| struct ndmsg |
| { |
| __u8 ndm_family; |
| __u8 ndm_pad1; |
| __u16 ndm_pad2; |
| __s32 ndm_ifindex; |
| __u16 ndm_state; |
| __u8 ndm_flags; |
| __u8 ndm_type; |
| }; |
| |
| enum |
| { |
| NDA_UNSPEC, |
| NDA_DST, |
| NDA_LLADDR, |
| NDA_CACHEINFO, |
| NDA_PROBES, |
| __NDA_MAX |
| }; |
| |
| #define NDA_MAX (__NDA_MAX - 1) |
| |
| /* |
| * Neighbor Cache Entry Flags |
| */ |
| |
| #define NTF_PROXY 0x08 /* == ATF_PUBL */ |
| #define NTF_ROUTER 0x80 |
| |
| /* |
| * Neighbor Cache Entry States. |
| */ |
| |
| #define NUD_INCOMPLETE 0x01 |
| #define NUD_REACHABLE 0x02 |
| #define NUD_STALE 0x04 |
| #define NUD_DELAY 0x08 |
| #define NUD_PROBE 0x10 |
| #define NUD_FAILED 0x20 |
| |
| /* Dummy states */ |
| #define NUD_NOARP 0x40 |
| #define NUD_PERMANENT 0x80 |
| #define NUD_NONE 0x00 |
| |
| /* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change |
| and make no address resolution or NUD. |
| NUD_PERMANENT is also cannot be deleted by garbage collectors. |
| */ |
| |
| struct nda_cacheinfo |
| { |
| __u32 ndm_confirmed; |
| __u32 ndm_used; |
| __u32 ndm_updated; |
| __u32 ndm_refcnt; |
| }; |
| |
| #endif |