summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2017-05-25 10:42:37 -0700
committerDavid S. Miller <davem@davemloft.net>2017-05-26 14:12:50 -0400
commit6ffd903415320d68a528865296e4740da350785e (patch)
tree314ab6766dd04828b5b0224d973ddf2d57afc7b3
parent3765d35ed8b9363cbf72ffe2282002d717a40843 (diff)
downloadlinux-6ffd903415320d68a528865296e4740da350785e.tar.gz
linux-6ffd903415320d68a528865296e4740da350785e.tar.bz2
linux-6ffd903415320d68a528865296e4740da350785e.zip
net: ipv4: Save trie prefix to fib lookup result
Prefix is needed for returning matching route spec on get route request. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/ip_fib.h1
-rw-r--r--net/ipv4/fib_trie.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
index 42e8b8f55f7c..25f5c516afd1 100644
--- a/include/net/ip_fib.h
+++ b/include/net/ip_fib.h
@@ -136,6 +136,7 @@ struct fib_rule;
struct fib_table;
struct fib_result {
+ __be32 prefix;
unsigned char prefixlen;
unsigned char nh_sel;
unsigned char type;
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 6d0f6c79d9aa..6e9df7d9bcc2 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -1452,6 +1452,7 @@ found:
if (!(fib_flags & FIB_LOOKUP_NOREF))
atomic_inc(&fi->fib_clntref);
+ res->prefix = htonl(n->key);
res->prefixlen = KEYLENGTH - fa->fa_slen;
res->nh_sel = nhsel;
res->type = fa->fa_type;