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=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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 9F0FBC43444 for ; Thu, 17 Jan 2019 13:48:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 48D7720855 for ; Thu, 17 Jan 2019 13:48:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="fC6DOaSg" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727012AbfAQNs0 (ORCPT ); Thu, 17 Jan 2019 08:48:26 -0500 Received: from mail-eopbgr30061.outbound.protection.outlook.com ([40.107.3.61]:63072 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725878AbfAQNsY (ORCPT ); Thu, 17 Jan 2019 08:48:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0A++BKyZw7A5XRGdjJSdCfK0asQ2FyHe9ME/BLMAhZI=; b=fC6DOaSgQsrlcdivDLmzFAoONbr5dqc1yREZ9Gqjn6lyuV9/wIsr1lebyEjADRErBoqnn0UZHiPVnRizLfi1JNGPiOLmRoUSBKcBTAzFNvAhDzfGlXZrdxIAFSOsNt/rRcSCoYbv4Gn3KQF+0MO96fvPP45s5w/0yb5YDzs7VqQ= Received: from AM6PR05MB6056.eurprd05.prod.outlook.com (20.179.2.148) by AM6PR05MB5208.eurprd05.prod.outlook.com (20.177.196.206) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.26; Thu, 17 Jan 2019 13:47:41 +0000 Received: from AM6PR05MB6056.eurprd05.prod.outlook.com ([fe80::5490:e4ea:7798:e65f]) by AM6PR05MB6056.eurprd05.prod.outlook.com ([fe80::5490:e4ea:7798:e65f%3]) with mapi id 15.20.1516.019; Thu, 17 Jan 2019 13:47:41 +0000 From: Ido Schimmel To: Florian Fainelli CC: "netdev@vger.kernel.org" , "andrew@lunn.ch" , "vivien.didelot@gmail.com" , "davem@davemloft.net" , Jiri Pirko , "ilias.apalodimas@linaro.org" , "ivan.khoronzhuk@linaro.org" , "roopa@cumulusnetworks.com" , "nikolay@cumulusnetworks.com" Subject: Re: [PATCH net-next 01/14] net: bridge: multicast: Propagate br_mc_disabled_update() return Thread-Topic: [PATCH net-next 01/14] net: bridge: multicast: Propagate br_mc_disabled_update() return Thread-Index: AQHUrdaJ3p5ncnsXJkiX6ZoQn96Wi6Wzer0A Date: Thu, 17 Jan 2019 13:47:40 +0000 Message-ID: <20190117134738.GA20176@splinter> References: <20190116200102.2749-1-f.fainelli@gmail.com> <20190116200102.2749-2-f.fainelli@gmail.com> In-Reply-To: <20190116200102.2749-2-f.fainelli@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5PR04CA0005.eurprd04.prod.outlook.com (2603:10a6:206:1::18) To AM6PR05MB6056.eurprd05.prod.outlook.com (2603:10a6:20b:ab::20) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM6PR05MB5208;6:oc6gfz8Ujy6N129fGsJIVZgrndHB6P32NcaTxLI/FKUsscJGYTP3tJIirVbnpDT5kqJ3/ZgikdVN+czPcnYPO5/aUt4EJvoha4OwsaAoD1B+1ECLAvyPX/csfgeYIS2zJk1iEL7ttZsWD2AfkbEQi8H9Nz8Frt/+2IZFu09kDZj4omPgdK+qd/gWbq8mf9VHOIYOM3caZti6O2UL4Jr/GD7/QIgaMv5SPM23xYvgvgBZqgDUp4hYdUErAC2FV0rOkGIJdmvRVxXpuMCD/0at7kOZTnhcEcQm+19pBTUWh/orvMtYcefy4OBCmO3hc0/rfmaKPVcwM+iVx9JSPfcLXPQH8g5A874K1Ri7N8if9z4O6udp3ttLlBXw3+qMjblxrwuYv8jLWARgqJDwP1pH6A8p2G/4OBbryySABRr8Cm1A/S0IMJUQ6Ha4V1Koy8pZmxHpFgfvrvFnj+ZE2J5PMA==;5:sRpNa7al1Q5hCGcJbsqbk4kSGJkc/vItt62XEjlr1pV76Vjg2yOQAOiNhWou4QmlTwJeVzMEyqBaRPMQiRGV55gOg4W31rWWn1jVh+2xP0VdSAaPCrK6cVpFIQPoB2RtdPDHei/EC3EN92zTlJUHCjVX/BCMwOAbYbxZyFee+DcRL0Q0SbWjnY9gcQut5kv3w6RajQ9DqvvOhwBEFQiRFQ==;7:k/eyhILmPWQsTYe6dNnFG/qN7ImdUyYVD30mVEp4PE4fB3kI8DiqxjaUJyQCEs76YeRL+iG9aVvoIHCbL62h2P2hDWOzJrPBy9x/SnZcgU/3i0Ksk68jd9PLtbcSpg8hhPKW89CqTKXoMFF2v3Q3fQ== x-ms-office365-filtering-correlation-id: 91c8f652-eeef-4445-213b-08d67c825938 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB5208; x-ms-traffictypediagnostic: AM6PR05MB5208: x-microsoft-antispam-prvs: x-forefront-prvs: 0920602B08 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(7916004)(366004)(396003)(136003)(376002)(39860400002)(346002)(199004)(189003)(53936002)(54906003)(4326008)(316002)(39060400002)(5660300001)(2906002)(486006)(33656002)(476003)(11346002)(446003)(99286004)(6506007)(6346003)(305945005)(14444005)(86362001)(386003)(26005)(256004)(68736007)(7736002)(6486002)(8936002)(106356001)(105586002)(25786009)(229853002)(186003)(102836004)(52116002)(6512007)(9686003)(33896004)(76176011)(6116002)(3846002)(1076003)(66066001)(66574012)(14454004)(71190400001)(71200400001)(6916009)(478600001)(6436002)(6246003)(81156014)(81166006)(8676002)(33716001)(97736004)(309714004);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB5208;H:AM6PR05MB6056.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: YCU+jZbiAms3hgE3ksK/mjDxn8ieW6pmb7KjSTyrnfYLrfA5LFAZkXUOQoRYzO9fXL4zfSdRA3MRFNWJm9ApbvgCY3jbeu7/vUnkynhgpZNbT8nv504c5kDs0iOHBdSJxO8GDTfWQrYjr+Nae9qMQTU72S+TBIIS2N6vMlBXk2ODisa2idxEZNw763zkztlVVMXHmQMGpmcmff5hgouNmmfYSDAiZUuotg+91tBhwenl8HwZ0SqH3D/3qNrSuZ5wwNnowOlk4pqOqsCR464lzvvjrvHbZoRhitUoP6jR+v1Z7mYFJeTh/M8pJD9UvMKkaogMSSeq8jUhYQsKhybTelGp2NtWOC15MkNtWt1zFJgZJKxYEBkFx9EmthsLnXhxYApU6xEqI2CEIteEWr6WDgDAStOAOBafQpJbXCrba+Q= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <918984D5F1E3394F9A66581A232A7C03@eurprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91c8f652-eeef-4445-213b-08d67c825938 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2019 13:47:40.2005 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5208 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Wed, Jan 16, 2019 at 12:00:49PM -0800, Florian Fainelli wrote: > Some Ethernet switches might not be able to support disabling multicast > flooding globally when e.g: several bridges span the same physical > device, propagate the return value of br_mc_disabled_update() such that > this propagates correctly to user-space. >=20 > Signed-off-by: Florian Fainelli > --- > net/bridge/br_multicast.c | 19 ++++++++++++++----- > 1 file changed, 14 insertions(+), 5 deletions(-) >=20 > diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c > index 3aeff0895669..09fc92541873 100644 > --- a/net/bridge/br_multicast.c > +++ b/net/bridge/br_multicast.c > @@ -813,7 +813,7 @@ static void br_ip6_multicast_port_query_expired(struc= t timer_list *t) > } > #endif > =20 > -static void br_mc_disabled_update(struct net_device *dev, bool value) > +static int br_mc_disabled_update(struct net_device *dev, bool value) > { > struct switchdev_attr attr =3D { > .orig_dev =3D dev, > @@ -822,11 +822,13 @@ static void br_mc_disabled_update(struct net_device= *dev, bool value) > .u.mc_disabled =3D !value, > }; > =20 > - switchdev_port_attr_set(dev, &attr); > + return switchdev_port_attr_set(dev, &attr); Did you test this for veth? If switchdev ops are not defined, this returns -EOPNOTSUPP. See __br_vlan_filter_toggle() for reference > } > =20 > int br_multicast_add_port(struct net_bridge_port *port) > { > + int ret; > + > port->multicast_router =3D MDB_RTR_TYPE_TEMP_QUERY; > =20 > timer_setup(&port->multicast_router_timer, > @@ -837,8 +839,11 @@ int br_multicast_add_port(struct net_bridge_port *po= rt) > timer_setup(&port->ip6_own_query.timer, > br_ip6_multicast_port_query_expired, 0); > #endif > - br_mc_disabled_update(port->dev, > - br_opt_get(port->br, BROPT_MULTICAST_ENABLED)); > + ret =3D br_mc_disabled_update(port->dev, > + br_opt_get(port->br, > + BROPT_MULTICAST_ENABLED)); > + if (ret) > + return ret; > =20 > port->mcast_stats =3D netdev_alloc_pcpu_stats(struct bridge_mcast_stats= ); > if (!port->mcast_stats) > @@ -1937,12 +1942,16 @@ static void br_multicast_start_querier(struct net= _bridge *br, > int br_multicast_toggle(struct net_bridge *br, unsigned long val) > { > struct net_bridge_port *port; > + int err; > =20 > spin_lock_bh(&br->multicast_lock); > if (!!br_opt_get(br, BROPT_MULTICAST_ENABLED) =3D=3D !!val) > goto unlock; > =20 > - br_mc_disabled_update(br->dev, val); > + err =3D br_mc_disabled_update(br->dev, val); > + if (err) > + goto unlock; > + > br_opt_toggle(br, BROPT_MULTICAST_ENABLED, !!val); > if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) > goto unlock; You never return the error > --=20 > 2.17.1 >=20