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=-6.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 DD306C43381 for ; Wed, 20 Feb 2019 17:26:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B1CC32084D for ; Wed, 20 Feb 2019 17:26:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B8Pbkssb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726126AbfBTR0v (ORCPT ); Wed, 20 Feb 2019 12:26:51 -0500 Received: from mail-qt1-f195.google.com ([209.85.160.195]:46112 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725796AbfBTR0v (ORCPT ); Wed, 20 Feb 2019 12:26:51 -0500 Received: by mail-qt1-f195.google.com with SMTP id z25so6344880qti.13 for ; Wed, 20 Feb 2019 09:26:50 -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=RGLZSuWV1FA/yRLspQz/PxCMOGYdvAJFHK9AvOI7+NQ=; b=B8PbkssbTVe14W4i5NpggzjaPG0CGFV9uqf9rHWnwH9IayZwVLqbB9W/EwhvdRPKRm kFyifhOgBmTbEOSrvjC5w6TjSqzGUVRwlee/hAn+Xro3MVGyR+v/6gwU7JpIRM4asmDB btKTL2hu2dK4h/mWE+armleivmIuzkpenWdcAkZ1pJeTymAW7egSOk/W7ay0sro7Xf37 AZW1AJEW2B/JKnY1FJAtI6ONktZFOPvyP7kzN+6COH7h/h3JLZW10M4fYILd9jeXaQ9O xs6IO4Xfa1tCm+LGjuzSXA4WK+INua1Yxqdsj6PkRlalygoEMH6h2hcClZYHDQYDDI3q OVyg== 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=RGLZSuWV1FA/yRLspQz/PxCMOGYdvAJFHK9AvOI7+NQ=; b=B5V02N+Jiuqg0zvZCye4VYArCHvNNzwfHe0Jj6UjWEuNDOTJd3s3hNjBqXqQuGjd09 XLH2ikbbSFB/bDfa9pO+SWRVE8zFGFUu+LMaF4QsD8xlAJjHBnpFai1iIvLHaVtvlbxd UDnJYJabxKUmQ0yXgNEn5m9Cuhrwi56yG+irYFSyXwrgUa3ZEAKjwsK8yNdeyiAndDOJ ybfelN2M2vUlU1SrBHJTf7g+yaBoRshsld4VmOsJvYa4C2nJOGHO0brG1XbWo214KgX3 c0EBrCrc4IWC9muEqQ8yDSSkOh0C1UJYsvPRDkG6Mpcel2DEuW3S/6FLEfTptJVpbl54 MB9Q== X-Gm-Message-State: AHQUAua6kGZQbvU76j33VT1aaWkoUYja3S/SkdujH3OLcHWqRuA1rjeE DTFiuAkYfYl2CDkgP5Cae2U= X-Google-Smtp-Source: AHgI3IYVacTrj8kzj2HKbjLoU24JJeirulir605GUPnTKZErr4LGrambYvwYpxHjhR+SmeeVAu3UnA== X-Received: by 2002:ac8:360d:: with SMTP id m13mr27783450qtb.197.1550683610128; Wed, 20 Feb 2019 09:26:50 -0800 (PST) Received: from localhost (modemcable249.105-163-184.mc.videotron.ca. [184.163.105.249]) by smtp.gmail.com with ESMTPSA id o21sm11985596qto.18.2019.02.20.09.26.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 20 Feb 2019 09:26:49 -0800 (PST) Date: Wed, 20 Feb 2019 12:26:48 -0500 Message-ID: <20190220122648.GD32192@t480s.localdomain> From: Vivien Didelot To: Russell King Cc: Andrew Lunn , Florian Fainelli , Heiner Kallweit , "David S. Miller" , netdev@vger.kernel.org Subject: Re: [PATCH net-next v3 2/3] net: dsa: mv88e6xxx: add support for bridge flags In-Reply-To: References: <20190220123615.fcyrlhz5jpx5ecgv@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 Wed, 20 Feb 2019 12:36:54 +0000, Russell King wrote: > Add support for the bridge flags to Marvell 88e6xxx bridges, allowing > the multicast and unicast flood properties to be controlled. These > can be controlled on a per-port basis via commands such as: > > bridge link set dev lan1 flood on|off > bridge link set dev lan1 mcast_flood on|off > > Signed-off-by: Russell King > --- > drivers/net/dsa/mv88e6xxx/chip.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c > index 32e7af5caa69..937370639fe4 100644 > --- a/drivers/net/dsa/mv88e6xxx/chip.c > +++ b/drivers/net/dsa/mv88e6xxx/chip.c > @@ -4692,6 +4692,24 @@ static int mv88e6xxx_port_mdb_del(struct dsa_switch *ds, int port, > return err; > } > > +static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port, > + bool unicast, bool multicast) > +{ > + struct mv88e6xxx_chip *chip = ds->priv; > + int ret = -EOPNOTSUPP; I'd prefer "err" like in the rest of the driver. > + > + WARN_ON_ONCE(dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port)); No need to warn, the driver does not need to care about which port is targeted by a call. > + > + mutex_lock(&chip->reg_lock); > + if (chip->info->ops->port_set_egress_floods) > + ret = chip->info->ops->port_set_egress_floods(chip, port, > + unicast, > + multicast); > + mutex_unlock(&chip->reg_lock); > + > + return ret; > +} > + > static const struct dsa_switch_ops mv88e6xxx_switch_ops = { > #if IS_ENABLED(CONFIG_NET_DSA_LEGACY) > .probe = mv88e6xxx_drv_probe, > @@ -4719,6 +4737,7 @@ static const struct dsa_switch_ops mv88e6xxx_switch_ops = { > .set_ageing_time = mv88e6xxx_set_ageing_time, > .port_bridge_join = mv88e6xxx_port_bridge_join, > .port_bridge_leave = mv88e6xxx_port_bridge_leave, > + .port_egress_floods = mv88e6xxx_port_egress_floods, > .port_stp_state_set = mv88e6xxx_port_stp_state_set, > .port_fast_age = mv88e6xxx_port_fast_age, > .port_vlan_filtering = mv88e6xxx_port_vlan_filtering, Otherwise it looks good to me.