[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5AB13A86.9010607@ORACLE.COM>
Date: Tue, 20 Mar 2018 18:44:54 +0200
From: Liran Alon <LIRAN.ALON@...CLE.COM>
To: "Eric W. Biederman" <ebiederm@...ssion.com>
CC: shmulik.ladkani@...il.com, netdev@...r.kernel.org,
mrv@...atatu.com, daniel@...earbox.net, davem@...emloft.net,
linux-kernel@...r.kernel.org, yuval.shaia@...CLE.COM,
idan.brown@...CLE.COM
Subject: Re: [PATCH] net: dev_forward_skb(): Scrub packet's per-netns info
only when crossing netns
On 20/03/18 18:24, ebiederm@...ssion.com wrote:
>
> I don't believe the current behavior is a bug.
>
> I looked through the history. Basically skb_scrub_packet
> started out as the scrubbing needed for crossing network
> namespaces.
>
> Then tunnels which needed 90% of the functionality started
> calling it, with the xnet flag added. Because the tunnels
> needed to preserve their historic behavior.
>
> Then dev_forward_skb started calling skb_scrub_packet.
>
> A veth pair is supposed to give the same behavior as a cross-over
> cable plugged into two local nics. A cross over cable won't
> preserve things like the skb mark. So I don't see why anyone would
> expect a veth pair to preserve the mark.
I disagree with this argument.
I think that a skb crossing netns is what simulates a real packet
crossing physical computers. Following your argument, why would
skb->mark should be preserved when crossing netdevs on same netns via
routing? But this does today preserve skb->mark.
Therefore, I do think that skb->mark should conceptually only be
scrubbed when crossing netns. Regardless of the netdev used to cross it.
>
> Right now I don't see the point of handling packets that don't cross
> network namespace boundaries specially, other than to preserve backwards
> compatibility.
>
> Eric
>
Powered by blists - more mailing lists