ipv6: Move fib6_multipath_select down in ip6_pol_route
Move the siblings and fib6_multipath_select after the null entry check since a null entry can not have siblings. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
af52a52cba
commit
d83009d462
|
@ -1843,9 +1843,6 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table,
|
|||
rcu_read_lock();
|
||||
|
||||
f6i = fib6_table_lookup(net, table, oif, fl6, strict);
|
||||
if (f6i->fib6_nsiblings)
|
||||
f6i = fib6_multipath_select(net, f6i, fl6, oif, skb, strict);
|
||||
|
||||
if (f6i == net->ipv6.fib6_null_entry) {
|
||||
rt = net->ipv6.ip6_null_entry;
|
||||
rcu_read_unlock();
|
||||
|
@ -1853,6 +1850,9 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table,
|
|||
return rt;
|
||||
}
|
||||
|
||||
if (f6i->fib6_nsiblings)
|
||||
f6i = fib6_multipath_select(net, f6i, fl6, oif, skb, strict);
|
||||
|
||||
/*Search through exception table */
|
||||
rt = rt6_find_cached_rt(f6i, &fl6->daddr, &fl6->saddr);
|
||||
if (rt) {
|
||||
|
|
Loading…
Reference in New Issue