Re: [PATCH wpan-next 01/20] net: mac802154: Allow the creation of coordinator interfaces
From: Alexander Aring <aahringo@redhat.com>
Date: 2022-09-02 02:09:58
Hi, On Wed, Aug 31, 2022 at 11:39 AM Miquel Raynal [off-list ref] wrote:
Hi Alexander & Stefan, aahringo@redhat.com wrote on Mon, 29 Aug 2022 22:23:09 -0400: I am currently testing my code with the ATUSB devices, the association works, so it's a good news! However I am struggling to get the association working for a simple reason: the crafted ACKs are transmitted (the ATUSB in monitor mode sees it) but I get absolutely
What is a crafted ACK here?
nothing on the receiver side. The logic is: coord0 coord1 association req -> <- ack <- association response ack -> The first ack is sent by coord1 but coord0 never sees anything. In practice coord0 has sent an association request and received a single one-byte packet in return which I guess is the firmware saying "okay, Tx has been performed". Shall I interpret this byte differently? Does it mean that the ack has also been received? I could not find a documentation of the firmware interface, I went through the wiki but I did not find something clear about what to expect or "what the driver should do". But perhaps this will ring a bell on your side? [...]quoted
I did not see the v2 until now. Sorry for that.Ah! Ok, no problem :)quoted
However I think there are missing bits here at the receive handling side. Which are: 1. Do a stop_tx(), stop_rx(), start_rx(filtering_level) to go into other filtering modes while ifup.Who is supposed to change the filtering level?
depending on what mac802154 is doing, for scan it's required to switch the filter level to promiscuous?
For now there is only the promiscuous mode being applied and the user has no knowledge about it, it's just something internal.
Okay, sounds good.
Changing how the promiscuous mode is applied (using a filtering level instead of a "promiscuous on" boolean) would impact all the drivers and for now we don't really need it.
no, it does not. Okay, you can hide the promiscuous mode driver callback from start()... but yes the goal would be to remove the promiscuous mode op in future.
quoted
I don't want to see all filtering modes here, just what we currently support with NONE (then with FCS check on software if necessary), ?THIRD/FOURTH? LEVEL filtering and that's it. What I don't want to see is runtime changes of phy flags. To tell the receive path what to filter and what's not.Runtime changes on a dedicated "filtering" PHY flag is what I've used and it works okay for this situation, why don't you want that? It avoids the need for (yet) another rework of the API with the drivers, no?
I am not sure what exactly here is "dedicated "filtering" PHY flag" if it's the hwflags it was never made to be changed during runtime. I also don't know what "yet another rework of the API" means here, there is a current behaviour which we can assume and only hwsim is a little bit out of range which should overwrite the "default".
quoted
2. set the pan coordinator bit for hw address filter. And there is a TODO about setting pkt_type in mac802154 receive path which we should take a look into. This bit should be addressed for coordinator support even if there is the question about coordinator vs pan coordinator, then the kernel needs a bit as coordinator iface type parameter to know if it's a pan coordinator and not coordinator.This is not really something that we can "set". Either the device had performed an association and it is a child device: it is not the PAN coordinator, or it initiated the PAN and it is the PAN coordinator. There are commands to change that later on but those are not supported. The "PAN coordinator" information is being added in the association series (which comes after the scan). I have handled the pkt_type you are mentioning.
okay. - Alex