From: Yan Zheng I find that linux will reply echo request destined to an address which belongs to an interface other than the one from which the request received. This behavior doesn't make sense for link local address. YOSHIFUJI Hideaki said: Please note that sender does need to setup neighbor entry by hand to reproduce this bug. (Link-local address on eth1 is not visible on eth0, from the point of view of neighbor discovery in IPv6.) +--------+ +--------+ | sender | | router | +---+----+ +-+----+-+ |eth0 eth0| |eth1 -----+----------------------+- -+-------------- Acked-by: YOSHIFUJI Hideaki Cc: Arnaldo Carvalho de Melo Cc: "David S. Miller" Signed-off-by: Andrew Morton --- net/ipv6/route.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN net/ipv6/route.c~fix-behavior-of-ip6_route_input-for-link-local-address net/ipv6/route.c --- devel/net/ipv6/route.c~fix-behavior-of-ip6_route_input-for-link-local-address 2005-10-23 13:01:40.000000000 -0700 +++ devel-akpm/net/ipv6/route.c 2005-10-23 13:01:41.000000000 -0700 @@ -483,7 +483,7 @@ restart: goto out; } - rt = rt6_device_match(rt, skb->dev->ifindex, 0); + rt = rt6_device_match(rt, skb->dev->ifindex, strict); BACKTRACK(); if (!rt->rt6i_nexthop && !(rt->rt6i_flags & RTF_NONEXTHOP)) { _