Subject: Re: [RFC PATCH net] Revert "ipv6: ndisc: inherit metadata dst when creating ndisc requests"

From: Nicolas Dichtel <[email-masked]>
Date: Tue, 1 Dec 2015 14:20:35 +0100

Le 30/11/2015 12:20, Jiri Benc a écrit :
> On Fri, 27 Nov 2015 18:17:05 +0100, Nicolas Dichtel wrote:
>> This reverts commit ab450605b35caa768ca33e86db9403229bf42be4.
>>
>> In IPv6, we cannot inherit the dst of the original dst. ndisc packets
>> are IPv6 packets and may take another route than the original packet.
>>
>> This patch breaks the following scenario: a packet comes from eth0 and
>> is forwarded through vxlan1. The encapsulated packet triggers an NS
>> which cannot be sent because of the wrong route.
>>
>> CC: Jiri Benc <[email-masked]>
>> CC: Thomas Graf <[email-masked]>
>> Signed-off-by: Nicolas Dichtel <[email-masked]>
>> ---
>>
>> I know that this is not the right fix, it's why I've put RFC ;-)
>
> I'm actually okay with applying the revert for now. The revert is not
> the right fix but at least it is less wrong than the current state.
Ok for me.

>
> The problem is deeper. I fixed the IPv4 part in commit 63d008a4e9ee
> ("ipv4: send arp replies to the correct tunnel") but for IPv6, I don't
> know how to fix it. We already have dst set for IPv6, thus we cannot
> use it to carry lwtunnel metadata for ndisc replies.
I will also think a bit more to this.

>
> I tried to consult this with a couple of people, haven't met with much
> interest.
>
>> Should the right fix only do a copy of dst metadata in the new dst?
>
> Copy of the dst (I'm afraid we cannot just set the ->lwtstate field,
> the same dst_entry may be shared between different tunnels) is pretty
> much the only thing I could think of.
Yes, you're right.

Thank you,
Nicolas