Re: [PATCH] net: dev_forward_skb(): Scrub packet's per-netns info only when crossing netns

From: Liran Alon <hidden>
Date: 2018-03-15 17:14:31
Also in: lkml

----- shmulik.ladkani@gmail.com wrote:
On Thu, 15 Mar 2018 09:35:51 -0700 (PDT) Liran Alon
[off-list ref] wrote:
quoted
----- shmulik.ladkani@gmail.com wrote:
quoted
On Thu, 15 Mar 2018 08:01:03 -0700 (PDT) Liran Alon
[off-list ref] wrote:  
quoted
I still think that default behavior should be to zero skb->mark
only  
quoted
quoted
when skb  
quoted
cross netdevs in different netns.  
But the previous default was scrub the mark in *both* xnet and
non-xnet
situations.

Therefore, there might be users which RELY on this (strange)
default
quoted
quoted
behavior in their same-netns-veth-pair setups.
Meaning, changing the default behavior might break their apps
relying
quoted
quoted
on
the former default behavior.

This is why the "disable mark scrubbing in non-xnet case" should
be
quoted
quoted
opt-in.  
We think the same.
The only difference is that I think this for now should be
controllable
quoted
by a global /proc/sys/net/core file instead of giving a flexible
per-netdev
quoted
control.
Because that is a larger change that could be done later.
A flags attribute to veth newlink is a very scoped change.
User controls this per veth creation.
This is way more neat than /proc/sys/net and provides the desired
granular
control.

Also, scoping this to veth has the advantage of not affecting the many
other
dev_forward_skb callers.
Agreed. But isn't this an issue also for the
many others (& future) callers of dev_forward_skb()?
This seems problematic to me.

This will kinda leave a kernel interface with broken default behavior
for backwards comparability.

A flag to netdev or /proc/sys/net/core to "fix" default behavior
will avoid this.
Regards,
Shmulik
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help