aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip6_fib.h
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2018-01-09 16:40:28 +0200
committerDavid S. Miller <davem@davemloft.net>2018-01-10 15:14:44 -0500
commit398958ae48f44bb036d0fa9829cd489270bf1fc2 (patch)
tree1af7f7291b37d5e8c3106540e06a041d9f563d83 /include/net/ip6_fib.h
parentipv6: Use hash-threshold instead of modulo-N (diff)
downloadlinux-dev-398958ae48f44bb036d0fa9829cd489270bf1fc2.tar.xz
linux-dev-398958ae48f44bb036d0fa9829cd489270bf1fc2.zip
ipv6: Add support for non-equal-cost multipath
The use of hash-threshold instead of modulo-N makes it trivial to add support for non-equal-cost multipath. Instead of dividing the multipath hash function's output space equally between the nexthops, each nexthop is assigned a region size which is proportional to its weight. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Acked-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r--include/net/ip6_fib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index 97cd05d87780..34ec321d6a03 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -171,6 +171,7 @@ struct rt6_info {
u32 rt6i_metric;
u32 rt6i_pmtu;
/* more non-fragment space at head required */
+ int rt6i_nh_weight;
unsigned short rt6i_nfheader_len;
u8 rt6i_protocol;
u8 exception_bucket_flushed:1,