summaryrefslogtreecommitdiff
path: root/patches/0091-fq-no-siphash_key_t/fq.patch
blob: 95c28a1960e19388ef01c294ffd5ea344ea2c5d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- a/include/net/fq.h
+++ b/include/net/fq.h
@@ -69,7 +69,15 @@ struct fq {
 	struct list_head backlogs;
 	spinlock_t lock;
 	u32 flows_cnt;
+#if LINUX_VERSION_IS_GEQ(5,3,10) || \
+    LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
+    LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
+    LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
+    LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
 	siphash_key_t	perturbation;
+#else
+	u32 perturbation;
+#endif
 	u32 limit;
 	u32 memory_limit;
 	u32 memory_usage;
--- a/include/net/fq_impl.h
+++ b/include/net/fq_impl.h
@@ -108,7 +108,15 @@ begin:
 
 static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb)
 {
+#if LINUX_VERSION_IS_GEQ(5,3,10) || \
+    LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
+    LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
+    LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
+    LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
 	u32 hash = skb_get_hash_perturb(skb, &fq->perturbation);
+#else
+	u32 hash = skb_get_hash_perturb(skb, fq->perturbation);
+#endif
 
 	return reciprocal_scale(hash, fq->flows_cnt);
 }