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