[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200624141725.GG442307@lunn.ch>
Date: Wed, 24 Jun 2020 16:17:25 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Daniel Mack <daniel@...que.org>
Cc: netdev@...r.kernel.org, jcobham@...stertangent.com
Subject: Re: [PATCH v2] dsa: Allow forwarding of redirected IGMP traffic
On Sat, Jun 20, 2020 at 09:39:25PM +0200, Daniel Mack wrote:
> The driver for Marvell switches puts all ports in IGMP snooping mode
> which results in all IGMP/MLD frames that ingress on the ports to be
> forwarded to the CPU only.
>
> The bridge code in the kernel can then interpret these frames and act
> upon them, for instance by updating the mdb in the switch to reflect
> multicast memberships of stations connected to the ports. However,
> the IGMP/MLD frames must then also be forwarded to other ports of the
> bridge so external IGMP queriers can track membership reports, and
> external multicast clients can receive query reports from foreign IGMP
> queriers.
>
> Currently, this is impossible as the EDSA tagger sets offload_fwd_mark
> on the skb when it unwraps the tagged frames, and that will make the
> switchdev layer prevent the skb from egressing on any other port of
> the same switch.
>
> To fix that, look at the To_CPU code in the DSA header and make
> forwarding of the frame possible for trapped IGMP packets.
>
> Introduce some #defines for the frame types to make the code a bit more
> comprehensive.
>
> This was tested on a Marvell 88E6352 variant.
>
> Signed-off-by: Daniel Mack <daniel@...que.org>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Tested-by: Andrew Lunn <andrew@...n.ch>
The testing was simple regression testing, not IGMP specific.
Andrew
Powered by blists - more mailing lists