1 --- a/backport-include/linux/skbuff.h
2 +++ b/backport-include/linux/skbuff.h
4 #ifndef __BACKPORT_SKBUFF_H
5 #define __BACKPORT_SKBUFF_H
6 #include_next <linux/skbuff.h>
7 +#include <net/flow_keys.h>
8 +#include <linux/jhash.h>
9 #include <linux/version.h>
10 #include <generated/utsrelease.h>
12 @@ -305,6 +307,16 @@ static inline void skb_free_frag(void *d
14 put_page(virt_to_head_page(data));
17 +static inline u32 skb_get_hash_perturb(struct sk_buff *skb, u32 key)
19 + struct flow_keys keys;
21 + skb_flow_dissect(skb, &keys);
22 + return jhash_3words((__force u32)keys.dst,
23 + (__force u32)keys.src ^ keys.ip_proto,
24 + (__force u32)keys.ports, key);
28 #endif /* __BACKPORT_SKBUFF_H */