From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2293C43381 for ; Tue, 19 Feb 2019 15:42:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BF2A421479 for ; Tue, 19 Feb 2019 15:42:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BoiZwq9t" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728813AbfBSPmp (ORCPT ); Tue, 19 Feb 2019 10:42:45 -0500 Received: from mail-qk1-f195.google.com ([209.85.222.195]:35782 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726397AbfBSPmp (ORCPT ); Tue, 19 Feb 2019 10:42:45 -0500 Received: by mail-qk1-f195.google.com with SMTP id w204so12300237qka.2 for ; Tue, 19 Feb 2019 07:42:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:message-id:from:to:cc:subject:in-reply-to:references :mime-version:content-disposition:content-transfer-encoding; bh=oH7ZVrT0wROxl7mGP37ztJifLy25oef0JFPwhboLTRo=; b=BoiZwq9tsj3T/p2eYh03BEEKbfCGBnLZclKi1aZor4L4M5KY0g8xzJQzw6wzUT0Y0+ YJsEwrwzVlEyYQvVwLKpi4qvutqEzgNaeSRP/9a/qBFlsabfBej712bVDEkIqd7iHRvy VSJEK7tGGUKEPEQBGjvITScgNPQkQzvYxhEux0EVfaoQX5bTQOm7S5GcuNIPfhEwoBRu Kqq2EfaQz3XRtkcy1vYkQvAIeIVzmyZLJlM3M0+Td8wsl/SDARUEF54NVfIXNlp7qSYz rBh7EJtb8RoHY9+rIFPylG28qjSFDxm2k0dPJcTwLVa7UfOGXSLbn5O5y3rdE6OuCqlN mYuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:from:to:cc:subject:in-reply-to :references:mime-version:content-disposition :content-transfer-encoding; bh=oH7ZVrT0wROxl7mGP37ztJifLy25oef0JFPwhboLTRo=; b=lLmclTy9t9o1QbhsNGuQ4kw/T8NGdkg3eA1z4SD0kMF8deruy1pT3wexwNlXA3mFyk b5ztYerH7jOsbz8UoSs6dFaN9sSh3Xez08noxiMhSJib3utTQ+mABJlgE1yHc3pdUiUa 0MSWSnpv/KGYmhEXL1JqHCBT5oLGLPJGYH0WzyfvogYYX6VL2RLYxs/HcQ0irTgHZfKj E4G4TyYGUFW7SbYTyPAwHaAWR4hVEXQ5yMUm7YgYIfpAJzbJYRK8+O74FHDgKT+9qmZK P1m+q2A+rtjEXnfWkH/WqoU46w4MubebST4daDyJ5IXD8hnGzG81jkjQEMoN99wOJueD 1vIQ== X-Gm-Message-State: AHQUAuYNffktUHcezHefxeg1pgEYj3aYfZRBJFEnq4pa8fkaGn6oYW77 f5LNa7qzEEc5dtwxXVFmcNjkf/dp X-Google-Smtp-Source: AHgI3IZk1M91sHC95vOhCD37J67J3mHvK4N7vb3B7QvXLsMpm+TsVqAU7NvwTfe5pYUxi60ZGMDfAA== X-Received: by 2002:a37:8105:: with SMTP id c5mr20895096qkd.116.1550590963936; Tue, 19 Feb 2019 07:42:43 -0800 (PST) Received: from localhost (modemcable249.105-163-184.mc.videotron.ca. [184.163.105.249]) by smtp.gmail.com with ESMTPSA id m12sm10012145qke.17.2019.02.19.07.42.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 19 Feb 2019 07:42:43 -0800 (PST) Date: Tue, 19 Feb 2019 10:42:42 -0500 Message-ID: <20190219104242.GB27578@t480s.localdomain> From: Vivien Didelot To: Russell King - ARM Linux admin Cc: Florian Fainelli , Andrew Lunn , "David S. Miller" , netdev@vger.kernel.org Subject: Re: [PATCH net-next 1/3] net: dsa: add support for bridge flags In-Reply-To: <20190218112355.gxroatrcaigo5nqh@shell.armlinux.org.uk> References: <20190217142414.cjtmpi5y2l5rtdlb@shell.armlinux.org.uk> <20190217220439.zqu7dz7kfukssrlz@shell.armlinux.org.uk> <0f607109-c037-2b7f-cf66-845ce4e7bf33@gmail.com> <20190218005031.wqj54o6ilqfng5nb@shell.armlinux.org.uk> <20190218112355.gxroatrcaigo5nqh@shell.armlinux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi Russell, On Mon, 18 Feb 2019 11:23:55 +0000, Russell King - ARM Linux admin wrote: > On Mon, Feb 18, 2019 at 12:50:31AM +0000, Russell King - ARM Linux admin wrote: > > From what I can see, the port_vlan_add()/port_vlan_del() implementation > > is far from ideal, just like "always enabling flooding for CPU/DSA > > ports" is not ideal. > > There also seems to be a discrepency between what net/dsa wants to do > and some of the implementations in drivers/net/dsa: > > dsa_switch_vlan_add() does this: > > bitmap_zero(ds->bitmap, ds->num_ports); > if (ds->index == info->sw_index) > set_bit(info->port, ds->bitmap); > for (port = 0; port < ds->num_ports; port++) > if (dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port)) > set_bit(port, ds->bitmap); > > We then call ds->ops->port_vlan_add() for each port in ds->bitmap, > which will include DSA and CPU ports on every switch in the tree. > > For rtl8366, this calls into rtl8366_vlan_add(), which does: > > if (dsa_is_dsa_port(ds, port) || dsa_is_cpu_port(ds, port)) > dev_err(smi->dev, "port is DSA or CPU port\n"); > > which is surely a guaranteed error message if we have any CPU or DSA > ports specified on a rtl8366. The example in the DT documentation > for this driver does suggest that it is capable of having CPU ports. Correct, at the very beginning, most of the logic was implemented by the DSA drivers themselves, like programming DSA and CPU ports. But this makes them more complicated for no value, so the logic is slowly moved up to the core, which now handles more of the generic logic. Ideally I would like DSA drivers to be dumb, implementing simple switch-wide ops reflecting their specs, e.g. switch-wide vlan_add ops taking a bitmap of ports for a given VID. This is a work in progress and we are slowly getting there. In the meantime there are indeed discrepencies between DSA core and drivers as you pointed out. Thanks, Vivien