[discussion] provide unified radio platform APIs for all radio drivers to process/generate Header IEs #10679
Replies: 4 comments 4 replies
-
@jwhui @abtink @bukepo @Irving-cl Any comment for this proposal? |
Beta Was this translation helpful? Give feedback.
-
Sounds great!
|
Beta Was this translation helpful? Give feedback.
-
Thanks @zhanglongxia, I like the idea of providing more elaborate utility functions (that do more complex actions) to help with radio driver implementation. But I'm not sure if we want to introduce these as Regarding My main concern is that we should not use If it is a standalone function that does some processing on Regarding
I am not in favor of introducing functions like We can document that certain helper functions can be called from different OS contexts, and whether or not they are re-entrant safe. If they are not re-entrant safe, we can suggest in the documentation that the platform should protect against this. Each radio driver implementation can then handle this however it chooses, using locks, critical regions, etc. |
Beta Was this translation helpful? Give feedback.
-
@zhanglongxia Thus, I suspect the proposal won't remove the need to add new platform APIs, but these APIs might have default implementations (weak or enabled with a build-time configuation) that would assume the |
Beta Was this translation helpful? Give feedback.
-
The ACK frame is generated by the radio driver, and some of the Header IEs of the data frame are updated by the radio driver. These part of code are implemented by radio drivers. Each chip vendor may have a different implementation. This way of generating ACK and handling Header IEs causes some problems:
<1> Once a Header IE needs to be added or updated, a new radio platform API needs to be added or updated.
<2> Requires chip vendors to take extra effort to implement new added or updated radio platform APIs.
<3> As time goes by, there will be more and more radio platform APIs.
My proposal is to provide unified platform radio APIs for all radio driver to generate/process Header IEs and encrypt frames.
If we implement above methods, chip vendors do not need to implement the following APIs anymore. And we do not need to add new radio platform APIs to process Header IEs. Vendors automatically have new features after synchronizing the code.
Beta Was this translation helpful? Give feedback.
All reactions