Thread (18 messages) flat view 18 messages, 4 authors, 2023-01-30

Re: [PATCH wpan-next 0/2] ieee802154: Beaconing support

From: Miquel Raynal <miquel.raynal@bootlin.com>
Date: 2023-01-25 10:00:05

Hi Alexander,

alex.aring@gmail.com wrote on Tue, 24 Jan 2023 21:31:33 -0500:
Hi,

On Tue, Jan 24, 2023 at 5:08 AM Miquel Raynal [off-list ref] wrote:
quoted
Hi Alexander,

aahringo@redhat.com wrote on Mon, 23 Jan 2023 09:02:48 -0500:
 
quoted
Hi,

On Mon, Jan 23, 2023 at 9:01 AM Alexander Aring [off-list ref] wrote:  
quoted
Hi,

On Wed, Jan 18, 2023 at 4:21 AM Miquel Raynal [off-list ref] wrote:  
quoted
Hi Alexander,

aahringo@redhat.com wrote on Sun, 15 Jan 2023 20:54:02 -0500:
 
quoted
Hi,

On Fri, Jan 6, 2023 at 6:33 AM Miquel Raynal [off-list ref] wrote:  
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help