diff mbox series

[net-next] net: sparx5: Support offloading of bridge port flooding flags

Message ID 20220217144534.sqntzdjltzvxslqo@wse-c0155 (mailing list archive)
State Changes Requested
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: sparx5: Support offloading of bridge port flooding flags | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers warning 4 maintainers not CCed: linux-arm-kernel@lists.infradead.org f.fainelli@gmail.com ioana.ciornei@nxp.com vladimir.oltean@nxp.com
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch warning WARNING: line length of 87 exceeds 80 columns WARNING: line length of 90 exceeds 80 columns WARNING: line length of 92 exceeds 80 columns
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Casper Andersson Feb. 17, 2022, 2:45 p.m. UTC
Though the SparX-5i can control IPv4/6 multicasts separately from non-IP
multicasts, these are all muxed onto the bridge's BR_MCAST_FLOOD flag.

Signed-off-by: Casper Andersson <casper@casan.se>
---
 drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--
2.30.2

Comments

Jakub Kicinski Feb. 18, 2022, 4:18 a.m. UTC | #1
On Thu, 17 Feb 2022 14:45:38 +0000 Casper Andersson wrote:

Can others see this patch? My email client apparently does not have
enough PGP support enabled. I'm worried I'm not the only one. That said
lore and patchwork seem to have gotten it just fine:

https://lore.kernel.org/all/20220217144534.sqntzdjltzvxslqo@wse-c0155/
https://patchwork.kernel.org/project/netdevbpf/patch/20220217144534.sqntzdjltzvxslqo@wse-c0155/
Casper Andersson Feb. 18, 2022, 9:01 a.m. UTC | #2
On 22/02/17 08:18, Jakub Kicinski wrote:
> On Thu, 17 Feb 2022 14:45:38 +0000 Casper Andersson wrote:
>
> Can others see this patch? My email client apparently does not have
> enough PGP support enabled. I'm worried I'm not the only one. That said
> lore and patchwork seem to have gotten it just fine:
>
> https://lore.kernel.org/all/20220217144534.sqntzdjltzvxslqo@wse-c0155/
> https://patchwork.kernel.org/project/netdevbpf/patch/20220217144534.sqntzdjltzvxslqo@wse-c0155/

I apologize. This seems to be Protonmail's doing. When I look at the
web interface for Protonmail I can see that you are the only recipient
it says PGP encrypted for. This is probably because Protonmail will
automatically encrypt when both ends use Protonmail. Though I do not see
this indication on your reply. I tried switching to PGP/Inline instead
of PGP/MIME for this message. I hope this works.  Otherwise, I can
resubmit this patch using another email address. I did not find a way
to disable the automatic encryption. Or if you have any other
suggestions to get around this.
Jakub Kicinski Feb. 19, 2022, 4:26 a.m. UTC | #3
On Fri, 18 Feb 2022 09:01:30 +0000 Casper Andersson wrote:
> On 22/02/17 08:18, Jakub Kicinski wrote:
> > On Thu, 17 Feb 2022 14:45:38 +0000 Casper Andersson wrote:
> >
> > Can others see this patch? My email client apparently does not have
> > enough PGP support enabled. I'm worried I'm not the only one. That said
> > lore and patchwork seem to have gotten it just fine:
> >
> > https://lore.kernel.org/all/20220217144534.sqntzdjltzvxslqo@wse-c0155/
> > https://patchwork.kernel.org/project/netdevbpf/patch/20220217144534.sqntzdjltzvxslqo@wse-c0155/  
> 
> I apologize. This seems to be Protonmail's doing. When I look at the
> web interface for Protonmail I can see that you are the only recipient
> it says PGP encrypted for. This is probably because Protonmail will
> automatically encrypt when both ends use Protonmail. Though I do not see
> this indication on your reply. I tried switching to PGP/Inline instead
> of PGP/MIME for this message. I hope this works.  Otherwise, I can
> resubmit this patch using another email address. I did not find a way
> to disable the automatic encryption. Or if you have any other
> suggestions to get around this.

If I'm the only one who didn't get the plain text version - it's not 
a big deal.

Steen, can we get a review?
Horatiu Vultur Feb. 19, 2022, 2:56 p.m. UTC | #4
The 02/18/2022 20:26, Jakub Kicinski wrote:

Hi

> 
> On Fri, 18 Feb 2022 09:01:30 +0000 Casper Andersson wrote:
> > On 22/02/17 08:18, Jakub Kicinski wrote:
> > > On Thu, 17 Feb 2022 14:45:38 +0000 Casper Andersson wrote:
> > >
> > > Can others see this patch? My email client apparently does not have
> > > enough PGP support enabled. I'm worried I'm not the only one. That said
> > > lore and patchwork seem to have gotten it just fine:
> > >
> > > https://lore.kernel.org/all/20220217144534.sqntzdjltzvxslqo@wse-c0155/
> > > https://patchwork.kernel.org/project/netdevbpf/patch/20220217144534.sqntzdjltzvxslqo@wse-c0155/
> >
> > I apologize. This seems to be Protonmail's doing. When I look at the
> > web interface for Protonmail I can see that you are the only recipient
> > it says PGP encrypted for. This is probably because Protonmail will
> > automatically encrypt when both ends use Protonmail. Though I do not see
> > this indication on your reply. I tried switching to PGP/Inline instead
> > of PGP/MIME for this message. I hope this works.  Otherwise, I can
> > resubmit this patch using another email address. I did not find a way
> > to disable the automatic encryption. Or if you have any other
> > suggestions to get around this.
> 
> If I'm the only one who didn't get the plain text version - it's not
> a big deal.

I also have problems seeing Casper's patch.

The only comment that I have to the patch, it would be nice to implement
also the SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS callback. But I presume
that can be added later on.

> 
> Steen, can we get a review?
Steen Hegelund Feb. 21, 2022, 7:59 a.m. UTC | #5
On Thu, 2022-02-17 at 14:45 +0000, Casper Andersson wrote:
> [Some people who received this message don't often get email from casper@casan.se. Learn why this
> is important at http://aka.ms/LearnAboutSenderIdentification.]
> 
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Though the SparX-5i can control IPv4/6 multicasts separately from non-IP
> multicasts, these are all muxed onto the bridge's BR_MCAST_FLOOD flag.
> 
> Signed-off-by: Casper Andersson <casper@casan.se>
> ---
>  drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> index 649ca609884a..27a9eed38316 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> @@ -22,8 +22,15 @@ struct sparx5_switchdev_event_work {
>  static void sparx5_port_attr_bridge_flags(struct sparx5_port *port,
>                                           struct switchdev_brport_flags flags)
>  {
> +       int pgid;
> +
>         if (flags.mask & BR_MCAST_FLOOD)
> -               sparx5_pgid_update_mask(port, PGID_MC_FLOOD, true);
> +               for (pgid = PGID_MC_FLOOD; pgid <= PGID_IPV6_MC_CTRL; pgid++)
> +                       sparx5_pgid_update_mask(port, pgid, !!(flags.val & BR_MCAST_FLOOD));
> +       if (flags.mask & BR_FLOOD)
> +               sparx5_pgid_update_mask(port, PGID_UC_FLOOD, !!(flags.val & BR_FLOOD));
> +       if (flags.mask & BR_BCAST_FLOOD)
> +               sparx5_pgid_update_mask(port, PGID_BCAST, !!(flags.val & BR_BCAST_FLOOD));
>  }
> 
>  static void sparx5_attr_stp_state_set(struct sparx5_port *port,
> --
> 2.30.2
> 
> 

Reviewed-by: Steen Hegelund <steen.hegelund@microchip.com>

BR
Steen
Jakub Kicinski Feb. 22, 2022, 6:30 p.m. UTC | #6
On Sat, 19 Feb 2022 15:56:48 +0100 Horatiu Vultur wrote:
> The 02/18/2022 20:26, Jakub Kicinski wrote:
> > > I apologize. This seems to be Protonmail's doing. When I look at the
> > > web interface for Protonmail I can see that you are the only recipient
> > > it says PGP encrypted for. This is probably because Protonmail will
> > > automatically encrypt when both ends use Protonmail. Though I do not see
> > > this indication on your reply. I tried switching to PGP/Inline instead
> > > of PGP/MIME for this message. I hope this works.  Otherwise, I can
> > > resubmit this patch using another email address. I did not find a way
> > > to disable the automatic encryption. Or if you have any other
> > > suggestions to get around this.  
> > 
> > If I'm the only one who didn't get the plain text version - it's not
> > a big deal.  
> 
> I also have problems seeing Casper's patch.

Looks like Dave marked the patch as Changes Requested in patchwork.
Casper, could you repost after all?

> The only comment that I have to the patch, it would be nice to implement
> also the SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS callback. But I presume
> that can be added later on.

Perhaps making it a two patch series and also addressing Horatiu's
request?
diff mbox series

Patch

diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
index 649ca609884a..27a9eed38316 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
@@ -22,8 +22,15 @@  struct sparx5_switchdev_event_work {
 static void sparx5_port_attr_bridge_flags(struct sparx5_port *port,
 					  struct switchdev_brport_flags flags)
 {
+	int pgid;
+
 	if (flags.mask & BR_MCAST_FLOOD)
-		sparx5_pgid_update_mask(port, PGID_MC_FLOOD, true);
+		for (pgid = PGID_MC_FLOOD; pgid <= PGID_IPV6_MC_CTRL; pgid++)
+			sparx5_pgid_update_mask(port, pgid, !!(flags.val & BR_MCAST_FLOOD));
+	if (flags.mask & BR_FLOOD)
+		sparx5_pgid_update_mask(port, PGID_UC_FLOOD, !!(flags.val & BR_FLOOD));
+	if (flags.mask & BR_BCAST_FLOOD)
+		sparx5_pgid_update_mask(port, PGID_BCAST, !!(flags.val & BR_BCAST_FLOOD));
 }

 static void sparx5_attr_stp_state_set(struct sparx5_port *port,