On Sat, Sep 26, 2020 at 08:30:54PM +0300, Vladimir Oltean wrote:
> Currently DSA assumes that taggers don't mess with the destination MAC
> address of the frames on RX. That is not always the case. Some DSA
> headers are placed before the Ethernet header (ocelot), and others
> simply mangle random bytes from the destination MAC address (sja1105
> with its incl_srcpt option).

...

> So give drivers the possibility to signal that their tagging protocol
> will get randomly dropped otherwise, and let DSA deal with fixing that.

> @@ -317,6 +317,13 @@ struct dsa_switch {
>        */
>       bool                    mtu_enforcement_ingress;
>  
> +     /* Some tagging protocols either mangle or shift the destination MAC
> +      * address, in which case the DSA master would drop packets on ingress
> +      * if what it understands out of the destination MAC address is not in
> +      * its RX filter.
> +      */
> +     bool                    promisc_on_master;
> +
>       size_t num_ports;
>  };

Hi Vladimir

I actually think this is a property of the tagger, not the DSA
driver. In fact, DSA drivers never handle actual frames, they are all
about the control plane, not the data plane. So i think this bool
should be in the tagger structure, dsa_device_ops.

       Andrew

Reply via email to