[source] mac80211: backport skb_get_hash_perturb() for 4.1 and older

LEDE Commits lede-commits at lists.infradead.org
Sun Jul 3 08:57:03 PDT 2016


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=b1748321597097d73b1806f096f9e4049a53b0ad

commit b1748321597097d73b1806f096f9e4049a53b0ad
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Sun Jul 3 17:56:53 2016 +0200

    mac80211: backport skb_get_hash_perturb() for 4.1 and older
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 .../005-backport_skb_get_hash_perturb.patch        | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

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 0000000..8212910
--- /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 <linux/skbuff.h>
++#include <net/flow_keys.h>
++#include <linux/jhash.h>
+ #include <linux/version.h>
+ #include <generated/utsrelease.h>
+ 
+@@ -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 */



More information about the lede-commits mailing list