[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110722.005904.2234780049605106051.davem@davemloft.net>
Date: Fri, 22 Jul 2011 00:59:04 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: fw@...len.de
Cc: netdev@...r.kernel.org
Subject: Re: icmp_route_lookup returns wrong source address information
From: Florian Westphal <fw@...len.de>
Date: Wed, 20 Jul 2011 21:22:58 +0200
> With linux-2.6 and net-next trees, whenever an icmp error message is
> sent in response to a to-be-forwarded packet, the destination address
> of the original packet is used as the IP header source address.
>
> Example:
> $ traceroute breakpoint.cc
> traceroute to breakpoint.cc (85.10.199.196), 30 hops max, 40 byte packets
> 1 chamillionaire.breakpoint.cc (85.10.199.196) 0.476 ms 0.468 ms 0.793 ms
>
> But the expected 1st hop is 192.168.20.7 in my setup.
>
> I bisected this down to 77968b78242ee25e2a4d759f0fca8dd52df6d479
> ("ipv4: Pass flow keys down into datagram packet building engine.")
>
> Specifically, it is caused by this hunk:
...
> Problem is that xfrm_decode_session_reverse() may rebuild fl4 from scratch.
>
> In my setup, "goto relookup_failed" will be hit a bit later on, and fl4->saddr will
> be set to iph->daddr...
Thanks for the detailed report Florian, I'll look into this.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists