Subject: Re: [PATCH net-next v2] net: dsa: Mock-up driver

From: Andrew Lunn <[email-masked]>
Date: Fri, 31 Mar 2017 18:56:22 +0200

> Actually we do not, because netdev_uses_dsa() returns true only when
> dst->rcv is different from NULL. When dst->rcv is NULL we completely
> bypass the DSA hook in eth_type_trans() and everything is well, the
> master network device is the one receiving packets.

static inline bool netdev_uses_dsa(struct net_device *dev)
{
#if IS_ENABLED(CONFIG_NET_DSA)
        if (dev->dsa_ptr != NULL)
                return dsa_uses_tagged_protocol(dev->dsa_ptr);
#endif
        return false;
}

and

static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst)
{
        return dst->rcv != NULL;
}

Yep, i just needed to dig further...

Thanks
	Andrew