From: Andrew Lunn <andrew@lunn.ch>
To: nikolay@cumulusnetworks.com
Cc: netdev@vger.kernel.org, roopa@cumulusnetworks.com,
davem@davemloft.net, bridge@lists.linux-foundation.org
Subject: Re: [PATCH net-next v2 1/3] net: bridge: add support for user-controlled bool options
Date: Sat, 24 Nov 2018 17:25:41 +0100 [thread overview]
Message-ID: <20181124162541.GC24681@lunn.ch> (raw)
In-Reply-To: <66D818AF-A45E-41B3-AC9C-90A7E607FD2D@cumulusnetworks.com>
On Sat, Nov 24, 2018 at 06:18:33PM +0200, nikolay@cumulusnetworks.com wrote:
> On 24 November 2018 18:10:41 EET, Andrew Lunn <andrew@lunn.ch> wrote:
> >> +int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt,
> >bool on,
> >> + struct netlink_ext_ack *extack)
> >> +{
> >> + switch (opt) {
> >> + default:
> >> + /* shouldn't be called with unsupported options */
> >> + WARN_ON(1);
> >> + break;
> >
> >So you return 0 here, meaning the br_debug() lower down will not
> >happen. Maybe return -EOPNOTSUPP?
> >
>
> No, the idea here is that some option in the future might return an error.
> This function cannot be called with unsupported option thus the warn.
O.K, i was trying to make it easier to see which option caused it to
happen.
> >> + }
> >> +
> >> + return 0;
> >> +}
> >> +
> >
> >> +int br_boolopt_multi_toggle(struct net_bridge *br,
> >> + struct br_boolopt_multi *bm,
> >> + struct netlink_ext_ack *extack)
> >> +{
> >> + unsigned long bitmap = bm->optmask;
> >> + int err = 0;
> >> + int opt_id;
> >> +
> >> + for_each_set_bit(opt_id, &bitmap, BR_BOOLOPT_MAX) {
> >> + bool on = !!(bm->optval & BIT(opt_id));
> >> +
> >> + err = br_boolopt_toggle(br, opt_id, on, extack);
> >> + if (err) {
> >> + br_debug(br, "boolopt multi-toggle error: option: %d current: %d
> >new: %d error: %d\n",
> >> + opt_id, br_boolopt_get(br, opt_id), on, err);
> >> + break;
> >> + }
> >> + }
> >
> >Does the semantics of extack allow you to return something even when
> >there is no error? If there are bits > BR_BOOLOPT_MAX you could return
> >0, but also add a warning in extack that some bits where not supported
> >by this kernel.
>
> If we return 0 there's no reason to check extack.
Well, the caller can check to see if extack is present, even on
success. This is extack, not extnack after all...
Andrew
next prev parent reply other threads:[~2018-11-25 3:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-24 2:34 [PATCH net-next v2 0/3] net: bridge: add an option to disabe linklocal learning Nikolay Aleksandrov
2018-11-24 2:34 ` [PATCH net-next v2 1/3] net: bridge: add support for user-controlled bool options Nikolay Aleksandrov
2018-11-24 16:10 ` Andrew Lunn
2018-11-24 16:18 ` nikolay
2018-11-24 16:25 ` Andrew Lunn [this message]
2018-11-24 16:46 ` nikolay
2018-11-25 8:12 ` Nikolay Aleksandrov
2018-11-26 17:39 ` Stephen Hemminger
2018-11-26 17:41 ` Nikolay Aleksandrov
2018-11-25 15:45 ` Andrew Lunn
2018-11-24 2:34 ` [PATCH net-next v2 2/3] net: bridge: add no_linklocal_learn bool option Nikolay Aleksandrov
2018-11-24 16:27 ` Andrew Lunn
2018-11-24 2:34 ` [PATCH net-next v2 3/3] net: bridge: export supported boolopts Nikolay Aleksandrov
2018-11-24 16:16 ` Andrew Lunn
2018-11-24 16:20 ` nikolay
2018-11-24 16:26 ` Andrew Lunn
2018-11-27 23:04 ` [PATCH net-next v2 0/3] net: bridge: add an option to disabe linklocal learning David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181124162541.GC24681@lunn.ch \
--to=andrew@lunn.ch \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).