[IPV6] NDISC: Take source address into account for redirects.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
YOSHIFUJI Hideaki
2006-08-23 17:12:24 -07:00
committed by David S. Miller
parent a57d27fc71
commit 5e032e32ec
3 changed files with 6 additions and 3 deletions

View File

@@ -1279,7 +1279,8 @@ static int ip6_route_del(struct fib6_config *cfg)
/*
* Handle redirects
*/
void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr,
void rt6_redirect(struct in6_addr *dest, struct in6_addr *src,
struct in6_addr *saddr,
struct neighbour *neigh, u8 *lladdr, int on_link)
{
struct rt6_info *rt, *nrt = NULL;
@@ -1304,7 +1305,7 @@ void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr,
*/
read_lock_bh(&table->tb6_lock);
fn = fib6_lookup(&table->tb6_root, dest, NULL);
fn = fib6_lookup(&table->tb6_root, dest, src);
restart:
for (rt = fn->leaf; rt; rt = rt->u.next) {
/*