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/ip_vti.c | |
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/ip_vti.c')
-rw-r--r-- | net/ipv4/ip_vti.c | 13 |
1 files changed, 4 insertions, 9 deletions
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; |