aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Herbert <therbert@google.com>2013-12-16 01:12:06 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-17 16:36:21 -0500
commit3958afa1b272eb07109fd31549e69193b4d7c364 (patch)
tree71ef9fff60aa85320c09b4aefa1b64c206f4639a
parent1aee6cc2a5193aa9963ea49b0d452723c1d493d8 (diff)
net: Change skb_get_rxhash to skb_get_hash
Changing name of function as part of making the hash in skbuff to be generic property, not just for receive path. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/macvtap.c2
-rw-r--r--drivers/net/tun.c4
-rw-r--r--drivers/net/vxlan.c2
-rw-r--r--include/linux/skbuff.h6
-rw-r--r--net/core/dev.c4
-rw-r--r--net/core/flow_dissector.c6
-rw-r--r--net/packet/af_packet.c4
-rw-r--r--net/sched/cls_flow.c2
-rw-r--r--net/sched/em_meta.c2
-rw-r--r--net/sched/sch_fq.c2
10 files changed, 17 insertions, 17 deletions
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 64409af0da31..431f58cb2ceb 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -224,7 +224,7 @@ static struct macvtap_queue *macvtap_get_queue(struct net_device *dev,
224 goto out; 224 goto out;
225 225
226 /* Check if we can use flow to select a queue */ 226 /* Check if we can use flow to select a queue */
227 rxq = skb_get_rxhash(skb); 227 rxq = skb_get_hash(skb);
228 if (rxq) { 228 if (rxq) {
229 tap = rcu_dereference(vlan->taps[rxq % numvtaps]); 229 tap = rcu_dereference(vlan->taps[rxq % numvtaps]);
230 goto out; 230 goto out;
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 3c5a8d8cde50..8569da248336 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -358,7 +358,7 @@ static u16 tun_select_queue(struct net_device *dev, struct sk_buff *skb)
358 rcu_read_lock(); 358 rcu_read_lock();
359 numqueues = ACCESS_ONCE(tun->numqueues); 359 numqueues = ACCESS_ONCE(tun->numqueues);
360 360
361 txq = skb_get_rxhash(skb); 361 txq = skb_get_hash(skb);
362 if (txq) { 362 if (txq) {
363 e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq); 363 e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq);
364 if (e) 364 if (e)
@@ -1146,7 +1146,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile,
1146 skb_reset_network_header(skb); 1146 skb_reset_network_header(skb);
1147 skb_probe_transport_header(skb, 0); 1147 skb_probe_transport_header(skb, 0);
1148 1148
1149 rxhash = skb_get_rxhash(skb); 1149 rxhash = skb_get_hash(skb);
1150 netif_rx_ni(skb); 1150 netif_rx_ni(skb);
1151 1151
1152 tun->dev->stats.rx_packets++; 1152 tun->dev->stats.rx_packets++;
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 58f6a0c02b17..b247a7a29366 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1405,7 +1405,7 @@ __be16 vxlan_src_port(__u16 port_min, __u16 port_max, struct sk_buff *skb)
1405 unsigned int range = (port_max - port_min) + 1; 1405 unsigned int range = (port_max - port_min) + 1;
1406 u32 hash; 1406 u32 hash;
1407 1407
1408 hash = skb_get_rxhash(skb); 1408 hash = skb_get_hash(skb);
1409 if (!hash) 1409 if (!hash)
1410 hash = jhash(skb->data, 2 * ETH_ALEN, 1410 hash = jhash(skb->data, 2 * ETH_ALEN,
1411 (__force u32) skb->protocol); 1411 (__force u32) skb->protocol);
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 77c7aae1c6b2..4725b953e00d 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -703,11 +703,11 @@ unsigned int skb_find_text(struct sk_buff *skb, unsigned int from,
703 unsigned int to, struct ts_config *config, 703 unsigned int to, struct ts_config *config,
704 struct ts_state *state); 704 struct ts_state *state);
705 705
706void __skb_get_rxhash(struct sk_buff *skb); 706void __skb_get_hash(struct sk_buff *skb);
707static inline __u32 skb_get_rxhash(struct sk_buff *skb) 707static inline __u32 skb_get_hash(struct sk_buff *skb)
708{ 708{
709 if (!skb->l4_rxhash) 709 if (!skb->l4_rxhash)
710 __skb_get_rxhash(skb); 710 __skb_get_hash(skb);
711 711
712 return skb->rxhash; 712 return skb->rxhash;
713} 713}
diff --git a/net/core/dev.c b/net/core/dev.c
index 9d4369ece679..c482fe8abf87 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3006,7 +3006,7 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
3006 } 3006 }
3007 3007
3008 skb_reset_network_header(skb); 3008 skb_reset_network_header(skb);
3009 if (!skb_get_rxhash(skb)) 3009 if (!skb_get_hash(skb))
3010 goto done; 3010 goto done;
3011 3011
3012 flow_table = rcu_dereference(rxqueue->rps_flow_table); 3012 flow_table = rcu_dereference(rxqueue->rps_flow_table);
@@ -3151,7 +3151,7 @@ static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen)
3151 rcu_read_lock(); 3151 rcu_read_lock();
3152 fl = rcu_dereference(sd->flow_limit); 3152 fl = rcu_dereference(sd->flow_limit);
3153 if (fl) { 3153 if (fl) {
3154 new_flow = skb_get_rxhash(skb) & (fl->num_buckets - 1); 3154 new_flow = skb_get_hash(skb) & (fl->num_buckets - 1);
3155 old_flow = fl->history[fl->history_head]; 3155 old_flow = fl->history[fl->history_head];
3156 fl->history[fl->history_head] = new_flow; 3156 fl->history[fl->history_head] = new_flow;
3157 3157
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index d6ef17322500..b324bfa3485c 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -202,12 +202,12 @@ static __always_inline u32 __flow_hash_1word(u32 a)
202} 202}
203 203
204/* 204/*
205 * __skb_get_rxhash: calculate a flow hash based on src/dst addresses 205 * __skb_get_hash: calculate a flow hash based on src/dst addresses
206 * and src/dst port numbers. Sets rxhash in skb to non-zero hash value 206 * and src/dst port numbers. Sets rxhash in skb to non-zero hash value
207 * on success, zero indicates no valid hash. Also, sets l4_rxhash in skb 207 * on success, zero indicates no valid hash. Also, sets l4_rxhash in skb
208 * if hash is a canonical 4-tuple hash over transport ports. 208 * if hash is a canonical 4-tuple hash over transport ports.
209 */ 209 */
210void __skb_get_rxhash(struct sk_buff *skb) 210void __skb_get_hash(struct sk_buff *skb)
211{ 211{
212 struct flow_keys keys; 212 struct flow_keys keys;
213 u32 hash; 213 u32 hash;
@@ -234,7 +234,7 @@ void __skb_get_rxhash(struct sk_buff *skb)
234 234
235 skb->rxhash = hash; 235 skb->rxhash = hash;
236} 236}
237EXPORT_SYMBOL(__skb_get_rxhash); 237EXPORT_SYMBOL(__skb_get_hash);
238 238
239/* 239/*
240 * Returns a Tx hash based on the given packet descriptor a Tx queues' number 240 * Returns a Tx hash based on the given packet descriptor a Tx queues' number
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index cc803c63059a..24675f06f4fd 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -963,7 +963,7 @@ static void prb_clear_blk_fill_status(struct packet_ring_buffer *rb)
963static void prb_fill_rxhash(struct tpacket_kbdq_core *pkc, 963static void prb_fill_rxhash(struct tpacket_kbdq_core *pkc,
964 struct tpacket3_hdr *ppd) 964 struct tpacket3_hdr *ppd)
965{ 965{
966 ppd->hv1.tp_rxhash = skb_get_rxhash(pkc->skb); 966 ppd->hv1.tp_rxhash = skb_get_hash(pkc->skb);
967} 967}
968 968
969static void prb_clear_rxhash(struct tpacket_kbdq_core *pkc, 969static void prb_clear_rxhash(struct tpacket_kbdq_core *pkc,
@@ -1295,7 +1295,7 @@ static int packet_rcv_fanout(struct sk_buff *skb, struct net_device *dev,
1295 if (!skb) 1295 if (!skb)
1296 return 0; 1296 return 0;
1297 } 1297 }
1298 skb_get_rxhash(skb); 1298 skb_get_hash(skb);
1299 idx = fanout_demux_hash(f, skb, num); 1299 idx = fanout_demux_hash(f, skb, num);
1300 break; 1300 break;
1301 case PACKET_FANOUT_LB: 1301 case PACKET_FANOUT_LB:
diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
index 7881e2fccbc2..83a6322b7751 100644
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -220,7 +220,7 @@ static u32 flow_get_vlan_tag(const struct sk_buff *skb)
220 220
221static u32 flow_get_rxhash(struct sk_buff *skb) 221static u32 flow_get_rxhash(struct sk_buff *skb)
222{ 222{
223 return skb_get_rxhash(skb); 223 return skb_get_hash(skb);
224} 224}
225 225
226static u32 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow) 226static u32 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow)
diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c
index 382519a5d7f9..9b8c0b0e60d7 100644
--- a/net/sched/em_meta.c
+++ b/net/sched/em_meta.c
@@ -222,7 +222,7 @@ META_COLLECTOR(int_maclen)
222 222
223META_COLLECTOR(int_rxhash) 223META_COLLECTOR(int_rxhash)
224{ 224{
225 dst->value = skb_get_rxhash(skb); 225 dst->value = skb_get_hash(skb);
226} 226}
227 227
228/************************************************************************** 228/**************************************************************************
diff --git a/net/sched/sch_fq.c b/net/sched/sch_fq.c
index f2fb92dd970d..08ef7a42c0e4 100644
--- a/net/sched/sch_fq.c
+++ b/net/sched/sch_fq.c
@@ -226,7 +226,7 @@ static struct fq_flow *fq_classify(struct sk_buff *skb, struct fq_sched_data *q)
226 /* By forcing low order bit to 1, we make sure to not 226 /* By forcing low order bit to 1, we make sure to not
227 * collide with a local flow (socket pointers are word aligned) 227 * collide with a local flow (socket pointers are word aligned)
228 */ 228 */
229 sk = (struct sock *)(skb_get_rxhash(skb) | 1L); 229 sk = (struct sock *)(skb_get_hash(skb) | 1L);
230 } 230 }
231 231
232 root = &q->fq_root[hash_32((u32)(long)sk, q->fq_trees_log)]; 232 root = &q->fq_root[hash_32((u32)(long)sk, q->fq_trees_log)];