summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>2014-04-09 20:39:24 +0000
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>2014-04-17 16:23:08 -0700
commit3bab31ff3d7527716fa5a873ae11125ff6426bca (patch)
treeb4746e05c120b4057c53850a0a0a17a93afdae7d
parente1e557a1a43c4063c0377528e9c6e9bb703660eb (diff)
backports: adjust flow_dissector.patch
We copy over the net/core/flow_dissector.c code from the kernel through the backports Kconfig magic for our backport of NET_SCH_FQ_CODE: config BACKPORT_USERSEL_NET_SCH_FQ_CODEL tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)" depends on m depends on !BACKPORT_KERNEL_2_6_25 default m if NET_SCH_FQ_CODEL=n default m if BACKPORT_USERSEL_BUILD_ALL #module-name sch_fq_codel #c-file net/sched/sch_fq_codel.c #c-file net/core/flow_dissector.c This pulls net/core/flow_dissector.c into the backports module as compat/net-core-flow_dissector.c. We don't need all the code there. Patches under patches/backport-adjustments/ can be used to adjust that type of code. Some changes have been made to code we delete which means we need to manually adjust the patch we carry. This is a hint as one area we could look to enhance better to do more automatic backport work. Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
-rw-r--r--patches/backport-adjustments/flow_dissector.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/patches/backport-adjustments/flow_dissector.patch b/patches/backport-adjustments/flow_dissector.patch
index a4278f4f..68434bdb 100644
--- a/patches/backport-adjustments/flow_dissector.patch
+++ b/patches/backport-adjustments/flow_dissector.patch
@@ -32,8 +32,8 @@
-
-/*
- * __skb_get_hash: calculate a flow hash based on src/dst addresses
-- * and src/dst port numbers. Sets rxhash in skb to non-zero hash value
-- * on success, zero indicates no valid hash. Also, sets l4_rxhash in skb
+- * and src/dst port numbers. Sets hash in skb to non-zero hash value
+- * on success, zero indicates no valid hash. Also, sets l4_hash in skb
- * if hash is a canonical 4-tuple hash over transport ports.
- */
-void __skb_get_hash(struct sk_buff *skb)
@@ -45,7 +45,7 @@
- return;
-
- if (keys.ports)
-- skb->l4_rxhash = 1;
+- skb->l4_hash = 1;
-
- /* get a consistent hash (same value on both flow directions) */
- if (((__force u32)keys.dst < (__force u32)keys.src) ||
@@ -61,7 +61,7 @@
- if (!hash)
- hash = 1;
-
-- skb->rxhash = hash;
+- skb->hash = hash;
-}
-EXPORT_SYMBOL(__skb_get_hash);
-
@@ -173,7 +173,7 @@
- hash = skb->sk->sk_hash;
- else
- hash = (__force u16) skb->protocol ^
-- skb->rxhash;
+- skb->hash;
- hash = __flow_hash_1word(hash);
- queue_index = map->queues[
- ((u64)hash * map->len) >> 32];