diff options
author | Amerigo Wang <amwang@redhat.com> | 2012-11-11 16:52:34 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-14 18:49:50 -0500 |
commit | e086cadc08e259150b2ab8f7f4a16dbf9e3c2f22 (patch) | |
tree | 38ef29e21c125dcb9f8fd75749416e4839c84469 /net/ipv4 | |
parent | aa0010f880ab542da3ad0e72992f2dc518ac68a0 (diff) |
net: unify for_each_ip_tunnel_rcu()
The defitions of for_each_ip_tunnel_rcu() are same,
so unify it. Also, don't hide the parameter 't'.
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <amwang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ip_gre.c | 14 | ||||
-rw-r--r-- | net/ipv4/ip_vti.c | 13 | ||||
-rw-r--r-- | net/ipv4/ipip.c | 13 |
3 files changed, 11 insertions, 29 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 37000ae24c55..127f2a1e67f5 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -164,12 +164,6 @@ struct ipgre_net { | |||
164 | #define tunnels_r tunnels[2] | 164 | #define tunnels_r tunnels[2] |
165 | #define tunnels_l tunnels[1] | 165 | #define tunnels_l tunnels[1] |
166 | #define tunnels_wc tunnels[0] | 166 | #define tunnels_wc tunnels[0] |
167 | /* | ||
168 | * Locking : hash tables are protected by RCU and RTNL | ||
169 | */ | ||
170 | |||
171 | #define for_each_ip_tunnel_rcu(start) \ | ||
172 | for (t = rcu_dereference(start); t; t = rcu_dereference(t->next)) | ||
173 | 167 | ||
174 | static struct rtnl_link_stats64 *ipgre_get_stats64(struct net_device *dev, | 168 | static struct rtnl_link_stats64 *ipgre_get_stats64(struct net_device *dev, |
175 | struct rtnl_link_stats64 *tot) | 169 | struct rtnl_link_stats64 *tot) |
@@ -241,7 +235,7 @@ static struct ip_tunnel *ipgre_tunnel_lookup(struct net_device *dev, | |||
241 | ARPHRD_ETHER : ARPHRD_IPGRE; | 235 | ARPHRD_ETHER : ARPHRD_IPGRE; |
242 | int score, cand_score = 4; | 236 | int score, cand_score = 4; |
243 | 237 | ||
244 | for_each_ip_tunnel_rcu(ign->tunnels_r_l[h0 ^ h1]) { | 238 | for_each_ip_tunnel_rcu(t, ign->tunnels_r_l[h0 ^ h1]) { |
245 | if (local != t->parms.iph.saddr || | 239 | if (local != t->parms.iph.saddr || |
246 | remote != t->parms.iph.daddr || | 240 | remote != t->parms.iph.daddr || |
247 | !(t->dev->flags & IFF_UP)) | 241 | !(t->dev->flags & IFF_UP)) |
@@ -268,7 +262,7 @@ static struct ip_tunnel *ipgre_tunnel_lookup(struct net_device *dev, | |||
268 | } | 262 | } |
269 | } | 263 | } |
270 | 264 | ||
271 | for_each_ip_tunnel_rcu(ign->tunnels_r[h0 ^ h1]) { | 265 | for_each_ip_tunnel_rcu(t, ign->tunnels_r[h0 ^ h1]) { |
272 | if (remote != t->parms.iph.daddr || | 266 | if (remote != t->parms.iph.daddr || |
273 | !(t->dev->flags & IFF_UP)) | 267 | !(t->dev->flags & IFF_UP)) |
274 | continue; | 268 | continue; |
@@ -294,7 +288,7 @@ static struct ip_tunnel *ipgre_tunnel_lookup(struct net_device *dev, | |||
294 | } | 288 | } |
295 | } | 289 | } |
296 | 290 | ||
297 | for_each_ip_tunnel_rcu(ign->tunnels_l[h1]) { | 291 | for_each_ip_tunnel_rcu(t, ign->tunnels_l[h1]) { |
298 | if ((local != t->parms.iph.saddr && | 292 | if ((local != t->parms.iph.saddr && |
299 | (local != t->parms.iph.daddr || | 293 | (local != t->parms.iph.daddr || |
300 | !ipv4_is_multicast(local))) || | 294 | !ipv4_is_multicast(local))) || |
@@ -322,7 +316,7 @@ static struct ip_tunnel *ipgre_tunnel_lookup(struct net_device *dev, | |||
322 | } | 316 | } |
323 | } | 317 | } |
324 | 318 | ||
325 | for_each_ip_tunnel_rcu(ign->tunnels_wc[h1]) { | 319 | for_each_ip_tunnel_rcu(t, ign->tunnels_wc[h1]) { |
326 | if (t->parms.i_key != key || | 320 | if (t->parms.i_key != key || |
327 | !(t->dev->flags & IFF_UP)) | 321 | !(t->dev->flags & IFF_UP)) |
328 | continue; | 322 | continue; |
diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c index e0f2c88f03c1..516188b0dc1e 100644 --- a/net/ipv4/ip_vti.c +++ b/net/ipv4/ip_vti.c | |||
@@ -66,11 +66,6 @@ static void vti_tunnel_setup(struct net_device *dev); | |||
66 | static void vti_dev_free(struct net_device *dev); | 66 | static void vti_dev_free(struct net_device *dev); |
67 | static int vti_tunnel_bind_dev(struct net_device *dev); | 67 | static int vti_tunnel_bind_dev(struct net_device *dev); |
68 | 68 | ||
69 | /* Locking : hash tables are protected by RCU and RTNL */ | ||
70 | |||
71 | #define for_each_ip_tunnel_rcu(start) \ | ||
72 | for (t = rcu_dereference(start); t; t = rcu_dereference(t->next)) | ||
73 | |||
74 | #define VTI_XMIT(stats1, stats2) do { \ | 69 | #define VTI_XMIT(stats1, stats2) do { \ |
75 | int err; \ | 70 | int err; \ |
76 | int pkt_len = skb->len; \ | 71 | int pkt_len = skb->len; \ |
@@ -133,19 +128,19 @@ static struct ip_tunnel *vti_tunnel_lookup(struct net *net, | |||
133 | struct ip_tunnel *t; | 128 | struct ip_tunnel *t; |
134 | struct vti_net *ipn = net_generic(net, vti_net_id); | 129 | struct vti_net *ipn = net_generic(net, vti_net_id); |
135 | 130 | ||
136 | for_each_ip_tunnel_rcu(ipn->tunnels_r_l[h0 ^ h1]) | 131 | for_each_ip_tunnel_rcu(t, ipn->tunnels_r_l[h0 ^ h1]) |
137 | if (local == t->parms.iph.saddr && | 132 | if (local == t->parms.iph.saddr && |
138 | remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) | 133 | remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) |
139 | return t; | 134 | return t; |
140 | for_each_ip_tunnel_rcu(ipn->tunnels_r[h0]) | 135 | for_each_ip_tunnel_rcu(t, ipn->tunnels_r[h0]) |
141 | if (remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) | 136 | if (remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) |
142 | return t; | 137 | return t; |
143 | 138 | ||
144 | for_each_ip_tunnel_rcu(ipn->tunnels_l[h1]) | 139 | for_each_ip_tunnel_rcu(t, ipn->tunnels_l[h1]) |
145 | if (local == t->parms.iph.saddr && (t->dev->flags&IFF_UP)) | 140 | if (local == t->parms.iph.saddr && (t->dev->flags&IFF_UP)) |
146 | return t; | 141 | return t; |
147 | 142 | ||
148 | for_each_ip_tunnel_rcu(ipn->tunnels_wc[0]) | 143 | for_each_ip_tunnel_rcu(t, ipn->tunnels_wc[0]) |
149 | if (t && (t->dev->flags&IFF_UP)) | 144 | if (t && (t->dev->flags&IFF_UP)) |
150 | return t; | 145 | return t; |
151 | return NULL; | 146 | return NULL; |
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 3a4ad7d82f67..099fc1c428b4 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c | |||
@@ -140,13 +140,6 @@ static void ipip_tunnel_setup(struct net_device *dev); | |||
140 | static void ipip_dev_free(struct net_device *dev); | 140 | static void ipip_dev_free(struct net_device *dev); |
141 | static struct rtnl_link_ops ipip_link_ops __read_mostly; | 141 | static struct rtnl_link_ops ipip_link_ops __read_mostly; |
142 | 142 | ||
143 | /* | ||
144 | * Locking : hash tables are protected by RCU and RTNL | ||
145 | */ | ||
146 | |||
147 | #define for_each_ip_tunnel_rcu(start) \ | ||
148 | for (t = rcu_dereference(start); t; t = rcu_dereference(t->next)) | ||
149 | |||
150 | static struct rtnl_link_stats64 *ipip_get_stats64(struct net_device *dev, | 143 | static struct rtnl_link_stats64 *ipip_get_stats64(struct net_device *dev, |
151 | struct rtnl_link_stats64 *tot) | 144 | struct rtnl_link_stats64 *tot) |
152 | { | 145 | { |
@@ -189,16 +182,16 @@ static struct ip_tunnel *ipip_tunnel_lookup(struct net *net, | |||
189 | struct ip_tunnel *t; | 182 | struct ip_tunnel *t; |
190 | struct ipip_net *ipn = net_generic(net, ipip_net_id); | 183 | struct ipip_net *ipn = net_generic(net, ipip_net_id); |
191 | 184 | ||
192 | for_each_ip_tunnel_rcu(ipn->tunnels_r_l[h0 ^ h1]) | 185 | for_each_ip_tunnel_rcu(t, ipn->tunnels_r_l[h0 ^ h1]) |
193 | if (local == t->parms.iph.saddr && | 186 | if (local == t->parms.iph.saddr && |
194 | remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) | 187 | remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) |
195 | return t; | 188 | return t; |
196 | 189 | ||
197 | for_each_ip_tunnel_rcu(ipn->tunnels_r[h0]) | 190 | for_each_ip_tunnel_rcu(t, ipn->tunnels_r[h0]) |
198 | if (remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) | 191 | if (remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) |
199 | return t; | 192 | return t; |
200 | 193 | ||
201 | for_each_ip_tunnel_rcu(ipn->tunnels_l[h1]) | 194 | for_each_ip_tunnel_rcu(t, ipn->tunnels_l[h1]) |
202 | if (local == t->parms.iph.saddr && (t->dev->flags&IFF_UP)) | 195 | if (local == t->parms.iph.saddr && (t->dev->flags&IFF_UP)) |
203 | return t; | 196 | return t; |
204 | 197 | ||