From: "Alvin Šipraga" <ALSI@bang-olufsen.dk>
To: Linus Walleij <linus.walleij@linaro.org>,
Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Mauri Sandberg <sandberg@mailfence.com>,
DENG Qingfang <dqfext@gmail.com>
Subject: Re: [PATCH net-next 4/5 v2] net: dsa: rtl8366rb: Support flood control
Date: Mon, 30 Aug 2021 23:35:31 +0000 [thread overview]
Message-ID: <a9430bbd-7d84-e857-b98a-3662a23db012@bang-olufsen.dk> (raw)
In-Reply-To: <20210830214859.403100-5-linus.walleij@linaro.org>
On 8/30/21 11:48 PM, Linus Walleij wrote:
> Now that we have implemented bridge flag handling we can easily
> support flood (storm) control as well so let's do it.
>
> Cc: Vladimir Oltean <olteanv@gmail.com>
> Cc: Alvin Šipraga <alsi@bang-olufsen.dk>
> Cc: Mauri Sandberg <sandberg@mailfence.com>
> Cc: DENG Qingfang <dqfext@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
> ChangeLog v1->v2:
> - New patch
> ---
> drivers/net/dsa/rtl8366rb.c | 38 ++++++++++++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/rtl8366rb.c b/drivers/net/dsa/rtl8366rb.c
> index 2cadd3e57e8b..4cb0e336ce6b 100644
> --- a/drivers/net/dsa/rtl8366rb.c
> +++ b/drivers/net/dsa/rtl8366rb.c
> @@ -149,6 +149,11 @@
>
> #define RTL8366RB_VLAN_INGRESS_CTRL2_REG 0x037f
>
> +#define RTL8366RB_STORM_BC_CTRL 0x03e0
> +#define RTL8366RB_STORM_MC_CTRL 0x03e1
> +#define RTL8366RB_STORM_UNDA_CTRL 0x03e2
> +#define RTL8366RB_STORM_UNMC_CTRL 0x03e3
> +
> /* LED control registers */
> #define RTL8366RB_LED_BLINKRATE_REG 0x0430
> #define RTL8366RB_LED_BLINKRATE_MASK 0x0007
> @@ -1158,7 +1163,8 @@ rtl8366rb_port_pre_bridge_flags(struct dsa_switch *ds, int port,
> struct netlink_ext_ack *extack)
> {
> /* We support enabling/disabling learning */
Perhaps you can remove this comment altogether, since we support more
things now, and it is self evident anyway.
> - if (flags.mask & ~(BR_LEARNING))
> + if (flags.mask & ~(BR_LEARNING | BR_BCAST_FLOOD |
> + BR_MCAST_FLOOD | BR_FLOOD))
> return -EINVAL;
>
> return 0;
> @@ -1180,6 +1186,36 @@ rtl8366rb_port_bridge_flags(struct dsa_switch *ds, int port,
> return ret;
> }
>
> + if (flags.mask & BR_BCAST_FLOOD) {
> + ret = regmap_update_bits(smi->map, RTL8366RB_STORM_BC_CTRL,
> + BIT(port),
> + (flags.val & BR_BCAST_FLOOD) ? BIT(port) : 0);
> + if (ret)
> + return ret;
> + }
> +
> + if (flags.mask & BR_MCAST_FLOOD) {
> + ret = regmap_update_bits(smi->map, RTL8366RB_STORM_MC_CTRL,
> + BIT(port),
> + (flags.val & BR_MCAST_FLOOD) ? BIT(port) : 0);
> + if (ret)
> + return ret;
> + }
> +
> + /* Enable/disable both types of unicast floods */
> + if (flags.mask & BR_FLOOD) {
> + ret = regmap_update_bits(smi->map, RTL8366RB_STORM_UNDA_CTRL,
> + BIT(port),
> + (flags.val & BR_FLOOD) ? BIT(port) : 0);
> + if (ret)
> + return ret;
> + ret = regmap_update_bits(smi->map, RTL8366RB_STORM_UNMC_CTRL,
> + BIT(port),
> + (flags.val & BR_FLOOD) ? BIT(port) : 0);
> + if (ret)
> + return ret;
> + }
> +
> return 0;
> }
>
>
next prev parent reply other threads:[~2021-08-30 23:35 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 21:48 [PATCH net-next 0/5 v2] RTL8366RB improvements Linus Walleij
2021-08-30 21:48 ` [PATCH net-next 1/5 v2] net: dsa: rtl8366rb: support bridge offloading Linus Walleij
2021-08-30 22:33 ` Vladimir Oltean
2021-08-30 23:24 ` Alvin Šipraga
2021-08-31 1:01 ` Florian Fainelli
2021-08-30 21:48 ` [PATCH net-next 2/5 v2] net: dsa: rtl8366: Drop custom VLAN set-up Linus Walleij
2021-08-30 22:35 ` Vladimir Oltean
2021-08-30 23:27 ` Alvin Šipraga
2021-08-31 1:02 ` Florian Fainelli
2021-08-30 21:48 ` [PATCH net-next 3/5 v2] net: dsa: rtl8366rb: Support disabling learning Linus Walleij
2021-08-30 22:40 ` Vladimir Oltean
2021-09-07 15:52 ` Linus Walleij
2021-09-08 21:09 ` Vladimir Oltean
2021-08-30 21:48 ` [PATCH net-next 4/5 v2] net: dsa: rtl8366rb: Support flood control Linus Walleij
2021-08-30 22:43 ` Vladimir Oltean
2021-08-30 23:42 ` Alvin Šipraga
2021-08-30 23:35 ` Alvin Šipraga [this message]
2021-08-31 1:04 ` Florian Fainelli
2021-08-30 21:48 ` [PATCH net-next 5/5 v2] net: dsa: rtl8366rb: Support fast aging Linus Walleij
2021-08-30 22:46 ` Vladimir Oltean
2021-09-07 17:48 ` Linus Walleij
2021-09-08 20:10 ` Vladimir Oltean
2021-09-10 13:59 ` Linus Walleij
2021-09-10 17:57 ` Vladimir Oltean
2021-08-31 0:24 ` Alvin Šipraga
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=a9430bbd-7d84-e857-b98a-3662a23db012@bang-olufsen.dk \
--to=alsi@bang-olufsen.dk \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=dqfext@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=sandberg@mailfence.com \
--cc=vivien.didelot@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.