Re: [net-next 08/18] net: ieee802154: Add support for internal PAN management
flat view
From: Miquel Raynal <miquel.raynal@bootlin.com>
Date: 2022-01-04 15:05:20
Also in:
lkml
Hi Alexander, alex.aring@gmail.com wrote on Tue, 28 Dec 2021 17:22:38 -0500:
Hi, On Wed, 22 Dec 2021 at 10:57, Miquel Raynal [off-list ref] wrote:quoted
Let's introduce the basics of PAN management: - structures defining PANs - helpers for PANs registration - helpers discarding old PANsI think there exists a little misunderstanding about how the architecture is between the structures wpan_phy, wpan_dev and cfg802154. - wpan_phy: represents the PHY layer of IEEE 802154 and is a registered device class. - wpan_dev: represents the MAC layer of IEEE 802154 and is a netdev interface. You can have multiple wpan_dev operate on one wpan_phy. To my best knowledge it's like having multiple access points running on one phy (wireless) or macvlan on ethernet. You can actually do that with the mac802154_hwsim driver. However as there exists currently no (as my knowledge) hardware which supports e.g. multiple address filters we wanted to be prepared for to support such handling. Although, there exists some transceivers which support something like a "pan bridge" which goes into such a direction. What is a cfg802154 registered device? Well, at first it offers an interface between SoftMAC and HardMAC from nl802154, that's the cfg802154_ops structure. In theory a HardMAC transceiver would bypass the SoftMAC stack by implementing "cfg802154_ops" on the driver layer and try to do everything there as much as possible to support it. It is not a registered device class but the instance is tight to a wpan_phy. There can be multiple wpan_dev's (MAC layer instances on a phy/cfg802154 registered device). We currently don't support a HardMAC transceiver and I think because this misunderstanding came up.
Thanks for the explanation, I think it helps because the relationship between wpan_dev and wpan_phy was not yet fully clear to me. In order to clarify further your explanation and be sure that I understand it the correct way, I tried to picture the above explanation into a figure. Would you mind looking at it and tell me if something does not fit? https://bootlin.com/~miquel/ieee802154.pdf Thanks, Miquèl