From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next 01/18] net: skb_scrub_packet(): Scrub offload_fwd_mark Date: Mon, 19 Nov 2018 11:07:45 -0800 (PST) Message-ID: <20181119.110745.12820215456503449.davem@davemloft.net> References: <20181119161006.5405-1-idosch@mellanox.com> <20181119161006.5405-2-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org, jiri@mellanox.com, petrm@mellanox.com, roopa@cumulusnetworks.com, mlxsw@mellanox.com To: idosch@mellanox.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:47778 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726070AbeKTFcp (ORCPT ); Tue, 20 Nov 2018 00:32:45 -0500 In-Reply-To: <20181119161006.5405-2-idosch@mellanox.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Ido Schimmel Date: Mon, 19 Nov 2018 16:11:07 +0000 > From: Petr Machata > > When a packet is trapped and the corresponding SKB marked as > already-forwarded, it retains this marking even after it is forwarded > across veth links into another bridge. There, since it ingresses the > bridge over veth, which doesn't have offload_fwd_mark, it triggers a > warning in nbp_switchdev_frame_mark(). > > Then nbp_switchdev_allowed_egress() decides not to allow egress from > this bridge through another veth, because the SKB is already marked, and > the mark (of 0) of course matches. Thus the packet is incorrectly > blocked. > > Solve by resetting offload_fwd_mark() in skb_scrub_packet(). That > function is called from tunnels and also from veth, and thus catches the > cases where traffic is forwarded between bridges and transformed in a > way that invalidates the marking. > > Signed-off-by: Petr Machata > Suggested-by: Ido Schimmel > Signed-off-by: Ido Schimmel As a bug fix this seems relevant for 'net' instead of 'net-next'.