blob: 29bccc1e995f910ff6d1aeaf0829e9bdfe4f72d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
--- a/backport-include/linux/skbuff.h
+++ b/backport-include/linux/skbuff.h
@@ -305,6 +305,19 @@ static inline void skb_free_frag(void *d
{
put_page(virt_to_head_page(data));
}
+
+#include <net/flow_keys.h>
+#include <linux/jhash.h>
+
+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 */
|