diff options
author | Thomas Graf <tgraf@suug.ch> | 2006-08-04 23:04:54 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 14:53:47 -0700 |
commit | 1823730fbc89fadde72a7bb3b7bdf03cc7b8835c (patch) | |
tree | c11f23e7cc15f47d61994fc370ece9841203dec2 /include/linux/if_addr.h | |
parent | 47f68512d2685431f1781830dfcbab31bda87644 (diff) | |
download | op-kernel-dev-1823730fbc89fadde72a7bb3b7bdf03cc7b8835c.zip op-kernel-dev-1823730fbc89fadde72a7bb3b7bdf03cc7b8835c.tar.gz |
[IPv4]: Move interface address bits to linux/if_addr.h
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_addr.h')
-rw-r--r-- | include/linux/if_addr.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/linux/if_addr.h b/include/linux/if_addr.h new file mode 100644 index 0000000..e159045 --- /dev/null +++ b/include/linux/if_addr.h @@ -0,0 +1,53 @@ +#ifndef __LINUX_IF_ADDR_H +#define __LINUX_IF_ADDR_H + +#include <linux/netlink.h> + +struct ifaddrmsg +{ + __u8 ifa_family; + __u8 ifa_prefixlen; /* The prefix length */ + __u8 ifa_flags; /* Flags */ + __u8 ifa_scope; /* Address scope */ + __u32 ifa_index; /* Link index */ +}; + +/* + * Important comment: + * IFA_ADDRESS is prefix address, rather than local interface address. + * It makes no difference for normally configured broadcast interfaces, + * but for point-to-point IFA_ADDRESS is DESTINATION address, + * local address is supplied in IFA_LOCAL attribute. + */ +enum +{ + IFA_UNSPEC, + IFA_ADDRESS, + IFA_LOCAL, + IFA_LABEL, + IFA_BROADCAST, + IFA_ANYCAST, + IFA_CACHEINFO, + IFA_MULTICAST, + __IFA_MAX, +}; + +#define IFA_MAX (__IFA_MAX - 1) + +/* ifa_flags */ +#define IFA_F_SECONDARY 0x01 +#define IFA_F_TEMPORARY IFA_F_SECONDARY + +#define IFA_F_DEPRECATED 0x20 +#define IFA_F_TENTATIVE 0x40 +#define IFA_F_PERMANENT 0x80 + +struct ifa_cacheinfo +{ + __u32 ifa_prefered; + __u32 ifa_valid; + __u32 cstamp; /* created timestamp, hundredths of seconds */ + __u32 tstamp; /* updated timestamp, hundredths of seconds */ +}; + +#endif |