Skip to content

Commit

Permalink
skb: expose and constify hash primitives
Browse files Browse the repository at this point in the history
Some minor changes to queue hashing:
 1. Use const on accessor functions
 2. Export skb_tx_hash for use in drivers (see ixgbe)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Mar 21, 2009
1 parent 1f1900f commit 9247744
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
9 changes: 6 additions & 3 deletions include/linux/skbuff.h
Original file line number Diff line number Diff line change
Expand Up @@ -1969,7 +1969,7 @@ static inline void skb_set_queue_mapping(struct sk_buff *skb, u16 queue_mapping)
skb->queue_mapping = queue_mapping;
}

static inline u16 skb_get_queue_mapping(struct sk_buff *skb)
static inline u16 skb_get_queue_mapping(const struct sk_buff *skb)
{
return skb->queue_mapping;
}
Expand All @@ -1984,16 +1984,19 @@ static inline void skb_record_rx_queue(struct sk_buff *skb, u16 rx_queue)
skb->queue_mapping = rx_queue + 1;
}

static inline u16 skb_get_rx_queue(struct sk_buff *skb)
static inline u16 skb_get_rx_queue(const struct sk_buff *skb)
{
return skb->queue_mapping - 1;
}

static inline bool skb_rx_queue_recorded(struct sk_buff *skb)
static inline bool skb_rx_queue_recorded(const struct sk_buff *skb)
{
return (skb->queue_mapping != 0);
}

extern u16 skb_tx_hash(const struct net_device *dev,
const struct sk_buff *skb);

#ifdef CONFIG_XFRM
static inline struct sec_path *skb_sec_path(struct sk_buff *skb)
{
Expand Down
3 changes: 2 additions & 1 deletion net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1725,7 +1725,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,

static u32 skb_tx_hashrnd;

static u16 skb_tx_hash(struct net_device *dev, struct sk_buff *skb)
u16 skb_tx_hash(const struct net_device *dev, const struct sk_buff *skb)
{
u32 hash;

Expand All @@ -1740,6 +1740,7 @@ static u16 skb_tx_hash(struct net_device *dev, struct sk_buff *skb)

return (u16) (((u64) hash * dev->real_num_tx_queues) >> 32);
}
EXPORT_SYMBOL(skb_tx_hash);

static struct netdev_queue *dev_pick_tx(struct net_device *dev,
struct sk_buff *skb)
Expand Down

0 comments on commit 9247744

Please sign in to comment.