Hi Alexander, alex.aring@xxxxxxxxx wrote on Tue, 24 Jan 2023 21:31:33 -0500: > Hi, > > On Tue, Jan 24, 2023 at 5:08 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > > > Hi Alexander, > > > > aahringo@xxxxxxxxxx wrote on Mon, 23 Jan 2023 09:02:48 -0500: > > > > > Hi, > > > > > > On Mon, Jan 23, 2023 at 9:01 AM Alexander Aring <aahringo@xxxxxxxxxx> wrote: > > > > > > > > Hi, > > > > > > > > On Wed, Jan 18, 2023 at 4:21 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > > > > > > > > > Hi Alexander, > > > > > > > > > > aahringo@xxxxxxxxxx wrote on Sun, 15 Jan 2023 20:54:02 -0500: > > > > > > > > > > > Hi, > > > > > > > > > > > > On Fri, Jan 6, 2023 at 6:33 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > > > > > > > > > > > > > Scanning being now supported, we can eg. play with hwsim to verify > > > > > > > everything works as soon as this series including beaconing support gets > > > > > > > merged. > > > > > > > > > > > > > > > > > > > I am not sure if a beacon send should be handled by an mlme helper > > > > > > handling as this is a different use-case and the user does not trigger > > > > > > an mac command and is waiting for some reply and a more complex > > > > > > handling could be involved. There is also no need for hotpath xmit > > > > > > handling is disabled during this time. It is just an async messaging > > > > > > in some interval and just "try" to send it and don't care if it fails, > > > > > > or? For mac802154 therefore I think we should use the dev_queue_xmit() > > > > > > function to queue it up to send it through the hotpath? > > > > > > > > > > > > I can ack those patches, it will work as well. But I think we should > > > > > > switch at some point to dev_queue_xmit(). It should be simple to > > > > > > switch it. Just want to mention there is a difference which will be > > > > > > there in mac-cmds like association. > > > > > > > > > > I see what you mean. That's indeed true, we might just switch to > > > > > a less constrained transmit path. > > > > > > > > > > > > > I would define the difference in bypass qdisc or not. Whereas the > > > > qdisc can drop or delay transmitting... For me, the qdisc is currently > > > > in a "works for now" state. > > > > > > probably also bypass other hooks like tc, etc. :-/ Not sure if we want that. > > > > Actually, IIUC, we no longer want to go through the entire net stack. > > We still want to bypass it but without stopping/flushing the full > > queue like with an mlme transmission, so what about using > > ieee802154_subif_start_xmit() instead of dev_queue_xmit()? I think it > > is more appropriate. > > I do not understand, what do we currently do with mlme ops via the > ieee802154_subif_start_xmit() function, or? So we bypass everything > from dev_queue_xmit() until do_xmit() netdev callback. Yes, that's the plan. We don't want any of the net stack features when sending beacons. > I think it is fine, also I think "mostly" only dataframes should go > through dev_queue_xmit(). With a HardMAC transceiver we would have > control about "mostly" other frames than data either. So we should do > everything with mlme-ops do what the spec says (to match up with > HardMAC behaviour?) and don't allow common net hooks/etc. to change > this behaviour? To summarize: - Data frames -> should go through dev_queue_xmit() - MLME ops with feedback constraints -> should go through the slow MLME path, so ieee802154_mlme_tx*() - MLME ops without feedback constraints like beacons -> should go through the hot path, but not through the whole net stack, so ieee802154_subif_start_xmit() Right now only data frames have security support, I propose we merge the initial support like that. Right now I am focused on UWB support (coming next, after the whole active scan/association additions), and in a second time we would be interested in llsec support for MLME ops. Does that sounds like a plan? If yes, I'll send a v2 with the right transmit helper used. Thanks, Miquèl NB: Perhaps a prerequisites of bringing security to the MLME ops would be to have wpan-tools updated (it looks like the support was never merged?) as well as a simple example how to use it on linux-wpan.org.