From b1748321597097d73b1806f096f9e4049a53b0ad Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 3 Jul 2016 17:56:53 +0200 Subject: [PATCH] mac80211: backport skb_get_hash_perturb() for 4.1 and older Signed-off-by: Felix Fietkau --- .../005-backport_skb_get_hash_perturb.patch | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 package/kernel/mac80211/patches/005-backport_skb_get_hash_perturb.patch diff --git a/package/kernel/mac80211/patches/005-backport_skb_get_hash_perturb.patch b/package/kernel/mac80211/patches/005-backport_skb_get_hash_perturb.patch new file mode 100644 index 0000000000..8212910577 --- /dev/null +++ b/package/kernel/mac80211/patches/005-backport_skb_get_hash_perturb.patch @@ -0,0 +1,28 @@ +--- a/backport-include/linux/skbuff.h ++++ b/backport-include/linux/skbuff.h +@@ -1,6 +1,8 @@ + #ifndef __BACKPORT_SKBUFF_H + #define __BACKPORT_SKBUFF_H + #include_next ++#include ++#include + #include + #include + +@@ -305,6 +307,16 @@ static inline void skb_free_frag(void *d + { + put_page(virt_to_head_page(data)); + } ++ ++static inline u32 skb_get_hash_perturb(struct sk_buff *skb, u32 key) ++{ ++ struct flow_keys keys; ++ ++ skb_flow_dissect(skb, &keys); ++ return jhash_3words((__force u32)keys.dst, ++ (__force u32)keys.src ^ keys.ip_proto, ++ (__force u32)keys.ports, key); ++} + #endif + + #endif /* __BACKPORT_SKBUFF_H */