--- linux-2.5.OLD/net/ipv6/ndisc.c 2003-08-20 14:09:13.000000000 +0300 +++ linux-2.5/net/ipv6/ndisc.c 2003-08-20 14:09:28.000000000 +0300 @@ -485,7 +485,7 @@ msg->icmph.icmp6_override = !!override; /* Set the target address. */ - ipv6_addr_copy(&msg->target, src_addr); + ipv6_addr_copy(&msg->target, solicited_addr); if (inc_opt) ndisc_fill_option(msg->opt, ND_OPT_TARGET_LL_ADDR, dev->dev_addr, dev->addr_len);