if_inet6.h (b65b34895437915f411882dd40d704eb0863ffb0) | if_inet6.h (e9d3e084975869754d16f639378675c353560be9) |
---|---|
1/* 2 * inet6 interface/address list definitions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * --- 18 unchanged lines hidden (view full) --- 27#define IF_READY 0x80000000 28 29/* prefix flags */ 30#define IF_PREFIX_ONLINK 0x01 31#define IF_PREFIX_AUTOCONF 0x02 32 33#ifdef __KERNEL__ 34 | 1/* 2 * inet6 interface/address list definitions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * --- 18 unchanged lines hidden (view full) --- 27#define IF_READY 0x80000000 28 29/* prefix flags */ 30#define IF_PREFIX_ONLINK 0x01 31#define IF_PREFIX_AUTOCONF 0x02 32 33#ifdef __KERNEL__ 34 |
35enum { 36 INET6_IFADDR_STATE_DAD, 37 INET6_IFADDR_STATE_POSTDAD, 38 INET6_IFADDR_STATE_UP, 39 INET6_IFADDR_STATE_DEAD, 40}; 41 |
|
35struct inet6_ifaddr { 36 struct in6_addr addr; 37 __u32 prefix_len; 38 39 __u32 valid_lft; 40 __u32 prefered_lft; 41 atomic_t refcnt; 42 spinlock_t lock; | 42struct inet6_ifaddr { 43 struct in6_addr addr; 44 __u32 prefix_len; 45 46 __u32 valid_lft; 47 __u32 prefered_lft; 48 atomic_t refcnt; 49 spinlock_t lock; |
50 spinlock_t state_lock; |
|
43 | 51 |
52 int state; 53 |
|
44 __u8 probes; 45 __u8 flags; 46 47 __u16 scope; 48 49 unsigned long cstamp; /* created timestamp */ 50 unsigned long tstamp; /* updated timestamp */ 51 52 struct timer_list timer; 53 54 struct inet6_dev *idev; 55 struct rt6_info *rt; 56 | 54 __u8 probes; 55 __u8 flags; 56 57 __u16 scope; 58 59 unsigned long cstamp; /* created timestamp */ 60 unsigned long tstamp; /* updated timestamp */ 61 62 struct timer_list timer; 63 64 struct inet6_dev *idev; 65 struct rt6_info *rt; 66 |
57 struct inet6_ifaddr *lst_next; /* next addr in addr_lst */ 58 struct inet6_ifaddr *if_next; /* next addr in inet6_dev */ | 67 struct hlist_node addr_lst; 68 struct list_head if_list; |
59 60#ifdef CONFIG_IPV6_PRIVACY | 69 70#ifdef CONFIG_IPV6_PRIVACY |
61 struct inet6_ifaddr *tmp_next; /* next addr in tempaddr_lst */ | 71 struct list_head tmp_list; |
62 struct inet6_ifaddr *ifpub; 63 int regen_count; 64#endif | 72 struct inet6_ifaddr *ifpub; 73 int regen_count; 74#endif |
65 66 int dead; | 75 struct rcu_head rcu; |
67}; 68 69struct ip6_sf_socklist { 70 unsigned int sl_max; 71 unsigned int sl_count; 72 struct in6_addr sl_addr[0]; 73}; 74 --- 71 unchanged lines hidden (view full) --- 146struct ipv6_devstat { 147 struct proc_dir_entry *proc_dir_entry; 148 DEFINE_SNMP_STAT(struct ipstats_mib, ipv6); 149 DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6); 150 DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg); 151}; 152 153struct inet6_dev { | 76}; 77 78struct ip6_sf_socklist { 79 unsigned int sl_max; 80 unsigned int sl_count; 81 struct in6_addr sl_addr[0]; 82}; 83 --- 71 unchanged lines hidden (view full) --- 155struct ipv6_devstat { 156 struct proc_dir_entry *proc_dir_entry; 157 DEFINE_SNMP_STAT(struct ipstats_mib, ipv6); 158 DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6); 159 DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg); 160}; 161 162struct inet6_dev { |
154 struct net_device *dev; | 163 struct net_device *dev; |
155 | 164 |
156 struct inet6_ifaddr *addr_list; | 165 struct list_head addr_list; |
157 158 struct ifmcaddr6 *mc_list; 159 struct ifmcaddr6 *mc_tomb; 160 spinlock_t mc_lock; 161 unsigned char mc_qrv; 162 unsigned char mc_gq_running; 163 unsigned char mc_ifc_count; 164 unsigned long mc_v1_seen; --- 5 unchanged lines hidden (view full) --- 170 rwlock_t lock; 171 atomic_t refcnt; 172 __u32 if_flags; 173 int dead; 174 175#ifdef CONFIG_IPV6_PRIVACY 176 u8 rndid[8]; 177 struct timer_list regen_timer; | 166 167 struct ifmcaddr6 *mc_list; 168 struct ifmcaddr6 *mc_tomb; 169 spinlock_t mc_lock; 170 unsigned char mc_qrv; 171 unsigned char mc_gq_running; 172 unsigned char mc_ifc_count; 173 unsigned long mc_v1_seen; --- 5 unchanged lines hidden (view full) --- 179 rwlock_t lock; 180 atomic_t refcnt; 181 __u32 if_flags; 182 int dead; 183 184#ifdef CONFIG_IPV6_PRIVACY 185 u8 rndid[8]; 186 struct timer_list regen_timer; |
178 struct inet6_ifaddr *tempaddr_list; | 187 struct list_head tempaddr_list; |
179#endif 180 181 struct neigh_parms *nd_parms; 182 struct inet6_dev *next; 183 struct ipv6_devconf cnf; 184 struct ipv6_devstat stats; 185 unsigned long tstamp; /* ipv6InterfaceTable update timestamp */ 186 struct rcu_head rcu; --- 94 unchanged lines hidden --- | 188#endif 189 190 struct neigh_parms *nd_parms; 191 struct inet6_dev *next; 192 struct ipv6_devconf cnf; 193 struct ipv6_devstat stats; 194 unsigned long tstamp; /* ipv6InterfaceTable update timestamp */ 195 struct rcu_head rcu; --- 94 unchanged lines hidden --- |