aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/route.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r--net/ipv6/route.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 5d6e9083ca2c..a9b08a2422e0 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1279,7 +1279,8 @@ static int ip6_route_del(struct fib6_config *cfg)
1279/* 1279/*
1280 * Handle redirects 1280 * Handle redirects
1281 */ 1281 */
1282void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr, 1282void rt6_redirect(struct in6_addr *dest, struct in6_addr *src,
1283 struct in6_addr *saddr,
1283 struct neighbour *neigh, u8 *lladdr, int on_link) 1284 struct neighbour *neigh, u8 *lladdr, int on_link)
1284{ 1285{
1285 struct rt6_info *rt, *nrt = NULL; 1286 struct rt6_info *rt, *nrt = NULL;
@@ -1304,7 +1305,7 @@ void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr,
1304 */ 1305 */
1305 1306
1306 read_lock_bh(&table->tb6_lock); 1307 read_lock_bh(&table->tb6_lock);
1307 fn = fib6_lookup(&table->tb6_root, dest, NULL); 1308 fn = fib6_lookup(&table->tb6_root, dest, src);
1308restart: 1309restart:
1309 for (rt = fn->leaf; rt; rt = rt->u.next) { 1310 for (rt = fn->leaf; rt; rt = rt->u.next) {
1310 /* 1311 /*