This is used to get the skb->hash and then perturb it for a local use. Signed-off-by: Tom Herbert <t...@herbertland.com> --- include/linux/skbuff.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 66e374d..b706889 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -17,6 +17,7 @@ #include <linux/kernel.h> #include <linux/kmemcheck.h> #include <linux/compiler.h> +#include <linux/jhash.h> #include <linux/time.h> #include <linux/bug.h> #include <linux/cache.h> @@ -927,6 +928,20 @@ static inline __u32 skb_get_hash(struct sk_buff *skb) return skb->hash; } +static inline __u32 skb_get_hash_perturb(struct sk_buff *skb, + u32 perturb) +{ + u32 hash = skb_get_hash(skb); + + if (likely(hash)) { + hash = jhash_1word((__force __u32) hash, perturb); + if (unlikely(!hash)) + hash = 1; + } + + return hash; +} + static inline __u32 skb_get_hash_raw(const struct sk_buff *skb) { return skb->hash; -- 1.8.1 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html