Messages in this thread | | | Date | Tue, 7 Dec 2021 23:46:52 +0100 | From | Andrew Lunn <> | Subject | Re: [net-next RFC PATCH 0/6] Add support for qca8k mdio rw in Ethernet packet |
| |
> > 1) The tagger needs somewhere to store its own private data. > > 2) The tagger needs to share state with the switch driver. > > > > We can probably have the DSA core provide 1). Add the size to > > dsa_device_ops structure, and provide helpers to go from either a > > master or a slave netdev to the private data. > > I'm just implementing this. It doesn't look that hard. > > > > > 2) is harder. But as far as i know, we have an 1:N setup. One switch > > driver can use N tag drivers. So we need the switch driver to be sure > > the tag driver is what it expects. We keep the shared state in the tag > > driver, so it always has valid data, but when the switch driver wants > > to get a pointer to it, it needs to pass a enum dsa_tag_protocol and > > if it does not match, the core should return -EINVAL or similar. > > > > Mhh this looks a bit complex. I'm probably missing something but why the > tagger needs to share a state? To check if it does support some feature? > If it's ready to be used for mdio Ethernet? Or just to be future-proof?
This is the general problem we have, and it might not be relevant for this specific problem of MDIO over Ethernet.
tag_sja1105 wants access to a queue of frames and a work queue shared with switch driver.
tag_ocelot_8021q has something similar to tag_sja1105.
tag_lan9303 wants to know if its two ports are in the same bridge.
Andrew
| |