[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1400565116.git.mkubecek@suse.cz>
Date: Tue, 20 May 2014 08:29:15 +0200 (CEST)
From: Michal Kubecek <mkubecek@...e.cz>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Patrick McHardy <kaber@...sh.net>,
Jay Vosburgh <j.vosburgh@...il.com>,
Veaceslav Falico <vfalico@...il.com>,
Andy Gospodarek <andy@...yhouse.net>,
Jiri Pirko <jiri@...nulli.us>,
Michal Miroslaw <mirq-linux@...e.qmqm.pl>
Subject: [PATCH net-next v2 0/3] net: device features handling fixes
> I think we need to think more about what exact behavior is desired in
> mixed csum feature set cases. Probably whatever csum offload type is
> the most prevelant should be the one advertised by the master. It
> means we will do that software checksum fixup for the oddball slaves,
> but it seems the best we can do.
I've been thinking about it some more and I believe what I proposed is
correct: features that are or-ed (ONE_FOR_ALL) should start with 0,
those which are and-ed (ALL_FOR_ALL) with 1.
But once we do that, we have to fix another problem in vlan module:
features of a vlan device are mostly computed as bitwise AND of features
and vlan_features of its underlying device. The problem is checksumming
features don't really behave like independent flags as their main
purpose is to be used in can_checksum_protocol() whose logic is that
HW_CSUM (GEN_CSUM) means "can checksum everything" so that it kind of
contains IP(V6)_CSUM functionality. Therefore intersection of HW_CSUM
and IP(V6)_CSUM should result in the latter.
An alternative approach would be to always set IP(V6)_CSUM once HW_CSUM
(any of GEN_CSUM) is set but as for long time people were taught not to
do that and we even have a warning for it, switching to the exact
opposite could cause a lot of problems.
> Also, like Jay, I agree that whatever we do in bonding needs to be
> done in team too and I'd like the bug fixed at the same time in both
> places.
Agreed. Added a similar patch for teaming driver.
Michal Kubecek (3):
vlan: more careful checksum features handling
bonding: fix vlan_features computing
teaming: fix vlan_features computing
drivers/net/bonding/bond_main.c | 1 +
drivers/net/team/team.c | 2 +-
include/linux/netdevice.h | 14 ++++++++++++++
net/8021q/vlan_dev.c | 4 ++--
4 files changed, 18 insertions(+), 3 deletions(-)
--
1.8.1.4
--
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