diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
commit | f8965467f366fd18f01feafb5db10512d7b4422c (patch) | |
tree | 3706a9cd779859271ca61b85c63a1bc3f82d626e /include/net/if_inet6.h | |
parent | a26272e5200765691e67d6780e52b32498fdb659 (diff) | |
parent | 2ec8c6bb5d8f3a62a79f463525054bae1e3d4487 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
qlcnic: adding co maintainer
ixgbe: add support for active DA cables
ixgbe: dcb, do not tag tc_prio_control frames
ixgbe: fix ixgbe_tx_is_paused logic
ixgbe: always enable vlan strip/insert when DCB is enabled
ixgbe: remove some redundant code in setting FCoE FIP filter
ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
ixgbe: fix header len when unsplit packet overflows to data buffer
ipv6: Never schedule DAD timer on dead address
ipv6: Use POSTDAD state
ipv6: Use state_lock to protect ifa state
ipv6: Replace inet6_ifaddr->dead with state
cxgb4: notify upper drivers if the device is already up when they load
cxgb4: keep interrupts available when the ports are brought down
cxgb4: fix initial addition of MAC address
cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
cnic: Convert cnic_local_flags to atomic ops.
can: Fix SJA1000 command register writes on SMP systems
bridge: fix build for CONFIG_SYSFS disabled
ARCNET: Limit com20020 PCI ID matches for SOHARD cards
...
Fix up various conflicts with pcmcia tree drivers/net/
{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
wireless/orinoco/spectrum_cs.c} and feature removal
(Documentation/feature-removal-schedule.txt).
Also fix a non-content conflict due to pm_qos_requirement getting
renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c
Diffstat (limited to 'include/net/if_inet6.h')
-rw-r--r-- | include/net/if_inet6.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h index 545d8b059bef..f95ff8d9aa47 100644 --- a/include/net/if_inet6.h +++ b/include/net/if_inet6.h | |||
@@ -32,6 +32,13 @@ | |||
32 | 32 | ||
33 | #ifdef __KERNEL__ | 33 | #ifdef __KERNEL__ |
34 | 34 | ||
35 | enum { | ||
36 | INET6_IFADDR_STATE_DAD, | ||
37 | INET6_IFADDR_STATE_POSTDAD, | ||
38 | INET6_IFADDR_STATE_UP, | ||
39 | INET6_IFADDR_STATE_DEAD, | ||
40 | }; | ||
41 | |||
35 | struct inet6_ifaddr { | 42 | struct inet6_ifaddr { |
36 | struct in6_addr addr; | 43 | struct in6_addr addr; |
37 | __u32 prefix_len; | 44 | __u32 prefix_len; |
@@ -40,6 +47,9 @@ struct inet6_ifaddr { | |||
40 | __u32 prefered_lft; | 47 | __u32 prefered_lft; |
41 | atomic_t refcnt; | 48 | atomic_t refcnt; |
42 | spinlock_t lock; | 49 | spinlock_t lock; |
50 | spinlock_t state_lock; | ||
51 | |||
52 | int state; | ||
43 | 53 | ||
44 | __u8 probes; | 54 | __u8 probes; |
45 | __u8 flags; | 55 | __u8 flags; |
@@ -54,16 +64,15 @@ struct inet6_ifaddr { | |||
54 | struct inet6_dev *idev; | 64 | struct inet6_dev *idev; |
55 | struct rt6_info *rt; | 65 | struct rt6_info *rt; |
56 | 66 | ||
57 | struct inet6_ifaddr *lst_next; /* next addr in addr_lst */ | 67 | struct hlist_node addr_lst; |
58 | struct inet6_ifaddr *if_next; /* next addr in inet6_dev */ | 68 | struct list_head if_list; |
59 | 69 | ||
60 | #ifdef CONFIG_IPV6_PRIVACY | 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; | 72 | struct inet6_ifaddr *ifpub; |
63 | int regen_count; | 73 | int regen_count; |
64 | #endif | 74 | #endif |
65 | 75 | struct rcu_head rcu; | |
66 | int dead; | ||
67 | }; | 76 | }; |
68 | 77 | ||
69 | struct ip6_sf_socklist { | 78 | struct ip6_sf_socklist { |
@@ -151,9 +160,9 @@ struct ipv6_devstat { | |||
151 | }; | 160 | }; |
152 | 161 | ||
153 | struct inet6_dev { | 162 | struct 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 | 166 | ||
158 | struct ifmcaddr6 *mc_list; | 167 | struct ifmcaddr6 *mc_list; |
159 | struct ifmcaddr6 *mc_tomb; | 168 | struct ifmcaddr6 *mc_tomb; |
@@ -175,7 +184,7 @@ struct inet6_dev { | |||
175 | #ifdef CONFIG_IPV6_PRIVACY | 184 | #ifdef CONFIG_IPV6_PRIVACY |
176 | u8 rndid[8]; | 185 | u8 rndid[8]; |
177 | struct timer_list regen_timer; | 186 | struct timer_list regen_timer; |
178 | struct inet6_ifaddr *tempaddr_list; | 187 | struct list_head tempaddr_list; |
179 | #endif | 188 | #endif |
180 | 189 | ||
181 | struct neigh_parms *nd_parms; | 190 | struct neigh_parms *nd_parms; |