From patchwork Sun Feb 17 14:24:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Russell King (Oracle)" X-Patchwork-Id: 1043669 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="ZCUO3vMF"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 442Tpb0g2Bz9s7h for ; Mon, 18 Feb 2019 01:27:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726583AbfBQOY1 (ORCPT ); Sun, 17 Feb 2019 09:24:27 -0500 Received: from pandora.armlinux.org.uk ([78.32.30.218]:38214 "EHLO pandora.armlinux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725795AbfBQOY0 (ORCPT ); Sun, 17 Feb 2019 09:24:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:Content-Type:MIME-Version: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Eb7Qc5v2N6K2zRc2rr++cY+0ciaLMq8IPmLHcJpb2zU=; b=ZCUO3vMFvKU+24t9g3bOc64yN LqOE4A7ItD1E5OWSUf25DbUtdOF0bphuGrWOsBbhsvNczS12WTMOVhD6ZRrMxy4nZEKlrBoow3jkr o7wTWW6/oKOqYGEOjZv4Cj4nSV7wwGcRi55s/RNkdypHWvcSFpFXp0OiGsGPSTN5tWWAZF0NH7vhH +3e9HQ6/0Nvfi8s9uML3iNG5r1LKql+/yFAw5wusXKfDotAObj6AQBe2pwuqs1bT5mAge+z0+00km U6rSb3bneJjbJs0ruO0iM4Z/8/buwaUrcYHpxH47wBunvLjYfoVVJFCs3vG3YH0lcfYzeCtSZJK7v MzP0YBE9A==; Received: from shell.armlinux.org.uk ([2001:4d48:ad52:3201:5054:ff:fe00:4ec]:54526) by pandora.armlinux.org.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1gvNMf-0000du-QT; Sun, 17 Feb 2019 14:24:21 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.89) (envelope-from ) id 1gvNMd-0006LX-5v; Sun, 17 Feb 2019 14:24:15 +0000 Date: Sun, 17 Feb 2019 14:24:15 +0000 From: Russell King - ARM Linux admin To: Andrew Lunn , Florian Fainelli , Vivien Didelot Cc: "David S. Miller" , netdev@vger.kernel.org Subject: [PATCH net-next 0/3] net: dsa: mv88e6xxx: fix IPv6 Message-ID: <20190217142414.cjtmpi5y2l5rtdlb@shell.armlinux.org.uk> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org We'have had some emails in private over this issue, this is my current patch set rebased on top of net-next which provides working IPv6 (and probably other protocols as well) over mv88e6xxx DSA switches. The problem comes down to mv88e6xxx defaulting to not flood unknown unicast and multicast datagrams, as they would be by dumb switches, and as the Linux bridge code does by default. These flood settings can be disabled via the Linux bridge code if it's desired to make the switch behave more like a managed switch, eg, by enabling the multicast querier. However, the multicast querier defaults to being disabled which effectively means that by default, mv88e6xxx switches block all multicast traffic. This is at odds with the Linux bridge documentation, and the defaults that the Linux bridge code adopts. So, this patch set adds DSA support for Linux bridge flags, adds mv88e6xxx support for the unicast and multicast flooding flags, and lastly enables flooding of these frames by default to match the Linux bridge defaults. drivers/net/dsa/mv88e6xxx/chip.c | 42 ++++++++++++++++++++++++++++++++++++---- include/net/dsa.h | 3 +++ net/dsa/dsa_priv.h | 2 ++ net/dsa/port.c | 15 ++++++++++++++ net/dsa/slave.c | 6 ++++++ 5 files changed, 64 insertions(+), 4 deletions(-)