Skip to content

Commit

Permalink
net: Change skb_get_rxhash to skb_get_hash
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tom Herbert authored and David S. Miller committed Dec 17, 2013
1 parent 1aee6cc commit 3958afa
Show file tree
Hide file tree
Showing 10 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion drivers/net/macvtap.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ static struct macvtap_queue *macvtap_get_queue(struct net_device *dev,
goto out;

/* Check if we can use flow to select a queue */
rxq = skb_get_rxhash(skb);
rxq = skb_get_hash(skb);
if (rxq) {
tap = rcu_dereference(vlan->taps[rxq % numvtaps]);
goto out;
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/tun.c
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ static u16 tun_select_queue(struct net_device *dev, struct sk_buff *skb)
rcu_read_lock();
numqueues = ACCESS_ONCE(tun->numqueues);

txq = skb_get_rxhash(skb);
txq = skb_get_hash(skb);
if (txq) {
e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq);
if (e)
Expand Down Expand Up @@ -1146,7 +1146,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile,
skb_reset_network_header(skb);
skb_probe_transport_header(skb, 0);

rxhash = skb_get_rxhash(skb);
rxhash = skb_get_hash(skb);
netif_rx_ni(skb);

tun->dev->stats.rx_packets++;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/vxlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1405,7 +1405,7 @@ __be16 vxlan_src_port(__u16 port_min, __u16 port_max, struct sk_buff *skb)
unsigned int range = (port_max - port_min) + 1;
u32 hash;

hash = skb_get_rxhash(skb);
hash = skb_get_hash(skb);
if (!hash)
hash = jhash(skb->data, 2 * ETH_ALEN,
(__force u32) skb->protocol);
Expand Down
6 changes: 3 additions & 3 deletions include/linux/skbuff.h
Original file line number Diff line number Diff line change
Expand Up @@ -703,11 +703,11 @@ unsigned int skb_find_text(struct sk_buff *skb, unsigned int from,
unsigned int to, struct ts_config *config,
struct ts_state *state);

void __skb_get_rxhash(struct sk_buff *skb);
static inline __u32 skb_get_rxhash(struct sk_buff *skb)
void __skb_get_hash(struct sk_buff *skb);
static inline __u32 skb_get_hash(struct sk_buff *skb)
{
if (!skb->l4_rxhash)
__skb_get_rxhash(skb);
__skb_get_hash(skb);

return skb->rxhash;
}
Expand Down
4 changes: 2 additions & 2 deletions net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -3006,7 +3006,7 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
}

skb_reset_network_header(skb);
if (!skb_get_rxhash(skb))
if (!skb_get_hash(skb))
goto done;

flow_table = rcu_dereference(rxqueue->rps_flow_table);
Expand Down Expand Up @@ -3151,7 +3151,7 @@ static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen)
rcu_read_lock();
fl = rcu_dereference(sd->flow_limit);
if (fl) {
new_flow = skb_get_rxhash(skb) & (fl->num_buckets - 1);
new_flow = skb_get_hash(skb) & (fl->num_buckets - 1);
old_flow = fl->history[fl->history_head];
fl->history[fl->history_head] = new_flow;

Expand Down
6 changes: 3 additions & 3 deletions net/core/flow_dissector.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,12 +202,12 @@ static __always_inline u32 __flow_hash_1word(u32 a)
}

/*
* __skb_get_rxhash: calculate a flow hash based on src/dst addresses
* __skb_get_hash: calculate a flow hash based on src/dst addresses
* and src/dst port numbers. Sets rxhash in skb to non-zero hash value
* on success, zero indicates no valid hash. Also, sets l4_rxhash in skb
* if hash is a canonical 4-tuple hash over transport ports.
*/
void __skb_get_rxhash(struct sk_buff *skb)
void __skb_get_hash(struct sk_buff *skb)
{
struct flow_keys keys;
u32 hash;
Expand All @@ -234,7 +234,7 @@ void __skb_get_rxhash(struct sk_buff *skb)

skb->rxhash = hash;
}
EXPORT_SYMBOL(__skb_get_rxhash);
EXPORT_SYMBOL(__skb_get_hash);

/*
* Returns a Tx hash based on the given packet descriptor a Tx queues' number
Expand Down
4 changes: 2 additions & 2 deletions net/packet/af_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@ static void prb_clear_blk_fill_status(struct packet_ring_buffer *rb)
static void prb_fill_rxhash(struct tpacket_kbdq_core *pkc,
struct tpacket3_hdr *ppd)
{
ppd->hv1.tp_rxhash = skb_get_rxhash(pkc->skb);
ppd->hv1.tp_rxhash = skb_get_hash(pkc->skb);
}

static void prb_clear_rxhash(struct tpacket_kbdq_core *pkc,
Expand Down Expand Up @@ -1295,7 +1295,7 @@ static int packet_rcv_fanout(struct sk_buff *skb, struct net_device *dev,
if (!skb)
return 0;
}
skb_get_rxhash(skb);
skb_get_hash(skb);
idx = fanout_demux_hash(f, skb, num);
break;
case PACKET_FANOUT_LB:
Expand Down
2 changes: 1 addition & 1 deletion net/sched/cls_flow.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ static u32 flow_get_vlan_tag(const struct sk_buff *skb)

static u32 flow_get_rxhash(struct sk_buff *skb)
{
return skb_get_rxhash(skb);
return skb_get_hash(skb);
}

static u32 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow)
Expand Down
2 changes: 1 addition & 1 deletion net/sched/em_meta.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ META_COLLECTOR(int_maclen)

META_COLLECTOR(int_rxhash)
{
dst->value = skb_get_rxhash(skb);
dst->value = skb_get_hash(skb);
}

/**************************************************************************
Expand Down
2 changes: 1 addition & 1 deletion net/sched/sch_fq.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ static struct fq_flow *fq_classify(struct sk_buff *skb, struct fq_sched_data *q)
/* By forcing low order bit to 1, we make sure to not
* collide with a local flow (socket pointers are word aligned)
*/
sk = (struct sock *)(skb_get_rxhash(skb) | 1L);
sk = (struct sock *)(skb_get_hash(skb) | 1L);
}

root = &q->fq_root[hash_32((u32)(long)sk, q->fq_trees_log)];
Expand Down

0 comments on commit 3958afa

Please sign in to comment.