Blame view

include/linux/if_addr.h 1.45 KB
1823730fb   Thomas Graf   [IPv4]: Move inte...
1
2
  #ifndef __LINUX_IF_ADDR_H
  #define __LINUX_IF_ADDR_H
680ee0bd2   Jaswinder Singh Rajput   headers_check fix...
3
  #include <linux/types.h>
1823730fb   Thomas Graf   [IPv4]: Move inte...
4
  #include <linux/netlink.h>
d94d9fee9   Eric Dumazet   net: cleanup incl...
5
  struct ifaddrmsg {
1823730fb   Thomas Graf   [IPv4]: Move inte...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  	__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.
   */
d94d9fee9   Eric Dumazet   net: cleanup incl...
20
  enum {
1823730fb   Thomas Graf   [IPv4]: Move inte...
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  	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
55ebaef1d   Noriaki TAKAMIYA   [IPV6] ADDRCONF: ...
37
  #define	IFA_F_NODAD		0x02
95c385b4d   Neil Horman   [IPV6] ADDRCONF: ...
38
  #define IFA_F_OPTIMISTIC	0x04
cc411d0ba   Brian Haley   ipv6: Add IFA_F_D...
39
  #define IFA_F_DADFAILED		0x08
3b9f9a1c3   Noriaki TAKAMIYA   [IPV6] ADDRCONF: ...
40
  #define	IFA_F_HOMEADDRESS	0x10
1823730fb   Thomas Graf   [IPv4]: Move inte...
41
42
43
  #define IFA_F_DEPRECATED	0x20
  #define IFA_F_TENTATIVE		0x40
  #define IFA_F_PERMANENT		0x80
d94d9fee9   Eric Dumazet   net: cleanup incl...
44
  struct ifa_cacheinfo {
1823730fb   Thomas Graf   [IPv4]: Move inte...
45
46
47
48
49
  	__u32	ifa_prefered;
  	__u32	ifa_valid;
  	__u32	cstamp; /* created timestamp, hundredths of seconds */
  	__u32	tstamp; /* updated timestamp, hundredths of seconds */
  };
d3dcc077b   David S. Miller   [NETLINK]: Put {I...
50
51
52
53
54
  /* backwards compatibility for userspace */
  #ifndef __KERNEL__
  #define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
  #define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
  #endif
1823730fb   Thomas Graf   [IPv4]: Move inte...
55
  #endif