Hi, On Mon, Jun 20, 2022 at 5:28 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > Hi Alex, > > aahringo@xxxxxxxxxx wrote on Sun, 19 Jun 2022 20:24:48 -0400: > > > Hi, > > > > On Fri, Jun 17, 2022 at 3:35 PM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > > > > > This is a limitation clearly listed in the specification. Now that we > > > have device types,let's ensure that only FFDs can become PAN > > > coordinators. > > > > > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > > > --- > > > net/ieee802154/nl802154.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c > > > index 638bf544f102..0c6fc3385320 100644 > > > --- a/net/ieee802154/nl802154.c > > > +++ b/net/ieee802154/nl802154.c > > > @@ -924,6 +924,9 @@ static int nl802154_new_interface(struct sk_buff *skb, struct genl_info *info) > > > return -EINVAL; > > > } > > > > > > + if (type == NL802154_IFTYPE_COORD && !cfg802154_is_ffd(rdev)) > > > + return -EINVAL; > > > + > > > > Look at my other mail regarding why the user needs to set this device > > capability, change the errno to "EOPNOTSUPP"... it would be nice to > > have an identically nl80211 handling like nl80211 to see which > > interfaces are supported. Please look how wireless is doing that and > > probably we should not take the standard about those "wording" too > > seriously. What I mean is that according to FFD or RFD it's implied on > > what interfaces you can create on. > > This is true, I don't need this _is_ffd() helper, checking on the type > of interface should be enough. I will drop the DEV(PHY)_TYPE enum as I said that the driver needs somehow to report which interface can be created on the phy and such thing also exists in wireless inclusive netlink attribute to check which iftypes are supported (by calling iw)... you can map this information to if it's FFD or RFD. I am not sure if such an option makes sense now because we mostly have FFD only supported right now. - Alex