aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@phrozen.org>2016-12-25 20:11:34 +0100
committerJohn Crispin <john@phrozen.org>2017-08-05 08:46:36 +0200
commit74d00a8c3849c1340efd713eb94b786e304c201f (patch)
treede481743de61c34da96ab5f9dba3af3edcfb8260 /target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
parentde350550ef648d9728351b986b0516fa29465c45 (diff)
downloadupstream-74d00a8c3849c1340efd713eb94b786e304c201f.tar.gz
upstream-74d00a8c3849c1340efd713eb94b786e304c201f.tar.bz2
upstream-74d00a8c3849c1340efd713eb94b786e304c201f.zip
kernel: split patches folder up into backport, pending and hack folders
* properly format/comment all patches * merge debloat patches * merge Kconfig patches * merge swconfig patches * merge hotplug patches * drop 200-fix_localversion.patch - upstream * drop 222-arm_zimage_none.patch - unused * drop 252-mv_cesa_depends.patch - no longer required * drop 410-mtd-move-forward-declaration-of-struct-mtd_info.patch - unused * drop 661-fq_codel_keep_dropped_stats.patch - outdated * drop 702-phy_add_aneg_done_function.patch - upstream * drop 840-rtc7301.patch - unused * drop 841-rtc_pt7c4338.patch - upstream * drop 921-use_preinit_as_init.patch - unused * drop spio-gpio-old and gpio-mmc - unused Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch')
-rw-r--r--target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch46
1 files changed, 0 insertions, 46 deletions
diff --git a/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch b/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
deleted file mode 100644
index 5d99367ad4..0000000000
--- a/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From: Alexander Duyck <alexander.h.duyck@redhat.com>
-Date: Tue, 2 Dec 2014 10:58:21 -0800
-Subject: [PATCH] fib_trie: Fix /proc/net/fib_trie when
- CONFIG_IP_MULTIPLE_TABLES is not defined
-
-In recent testing I had disabled CONFIG_IP_MULTIPLE_TABLES and as a result
-when I ran "cat /proc/net/fib_trie" the main trie was displayed multiple
-times. I found that the problem line of code was in the function
-fib_trie_seq_next. Specifically the line below caused the indexes to go in
-the opposite direction of our traversal:
-
- h = tb->tb_id & (FIB_TABLE_HASHSZ - 1);
-
-This issue was that the RT tables are defined such that RT_TABLE_LOCAL is ID
-255, while it is located at TABLE_LOCAL_INDEX of 0, and RT_TABLE_MAIN is 254
-with a TABLE_MAIN_INDEX of 1. This means that the above line will return 1
-for the local table and 0 for main. The result is that fib_trie_seq_next
-will return NULL at the end of the local table, fib_trie_seq_start will
-return the start of the main table, and then fib_trie_seq_next will loop on
-main forever as h will always return 0.
-
-The fix for this is to reverse the ordering of the two tables. It has the
-advantage of making it so that the tables now print in the same order
-regardless of if multiple tables are enabled or not. In order to make the
-definition consistent with the multiple tables case I simply masked the to
-RT_TABLE_XXX values by (FIB_TABLE_HASHSZ - 1). This way the two table
-layouts should always stay consistent.
-
-Fixes: 93456b6 ("[IPV4]: Unify access to the routing tables")
-Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
---- a/include/net/ip_fib.h
-+++ b/include/net/ip_fib.h
-@@ -201,8 +201,8 @@ void fib_free_table(struct fib_table *tb
-
- #ifndef CONFIG_IP_MULTIPLE_TABLES
-
--#define TABLE_LOCAL_INDEX 0
--#define TABLE_MAIN_INDEX 1
-+#define TABLE_LOCAL_INDEX (RT_TABLE_LOCAL & (FIB_TABLE_HASHSZ - 1))
-+#define TABLE_MAIN_INDEX (RT_TABLE_MAIN & (FIB_TABLE_HASHSZ - 1))
-
- static inline struct fib_table *fib_get_table(struct net *net, u32 id)
- {