--- net/ipv4/icmp.orig 2005-05-02 04:55:53.512447464 +0200 +++ net/ipv4/icmp.c 2005-05-02 04:56:21.370212440 +0200 @@ -512,7 +512,7 @@ saddr = iph->daddr; if (!(rt->rt_flags & RTCF_LOCAL)) - saddr = 0; + saddr = inet_select_addr(skb_in->dev, 0, RT_SCOPE_LINK); tos = icmp_pointers[type].error ? ((iph->tos & IPTOS_TOS_MASK) | IPTOS_PREC_INTERNETCONTROL) :