[noup] l2_packet: Implement a direct function call option#95
[noup] l2_packet: Implement a direct function call option#95krish2718 wants to merge 1 commit intozephyrproject-rtos:mainfrom
Conversation
In Zephyr we can leverage using direct function call instead of socket send this gives us: * Faster time to send EAPoL OTA * Ability to handle M4 vs set_key race * Handle rekeying effectively in presence of traffic Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
|
|
||
| /* Try to use driver operation for high-priority transmission */ | ||
| dev_ops = get_dev_ops(if_ctx->dev_ctx); | ||
| #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT |
There was a problem hiding this comment.
Since you add CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT related change inside l2_packet_send, then all the changes before l2_packet_send are not needed, right?
| int (*get_inact_sec)(void *if_priv, const u8 *addr); | ||
| void (*send_action_cancel_wait)(void *priv); | ||
|
|
||
| #ifdef CONFIG_NRF70_L2_PACKET |
There was a problem hiding this comment.
| #ifdef CONFIG_NRF70_L2_PACKET | |
| #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT |
| #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT | ||
| if (dev_ops && dev_ops->send_l2_packet) { | ||
| /* Get device private data from the interface context */ | ||
| struct nrf_wifi_vif_ctx_zep *vif_ctx_zep = device->data; |
There was a problem hiding this comment.
why use nrf_wifi_vif_ctx_zep struct here?
There was a problem hiding this comment.
oops, local change, will fix it. Thanks.
|
This change is only related to TX direction, what about eapol RX? |
Good point, let me see if I can do the same for RX too. Thanks. |
| return -1; | ||
| } | ||
|
|
||
| #ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT |
There was a problem hiding this comment.
Maybe protect the entire set of changes (i.e. starting from line 55) with CONFIG_WIFI_NM_WPA_SUPPLICANT_L2_PKT_DIRECT ?
(Same comment for changes in other functions too).
In Zephyr we can leverage using direct function call instead of socket send this gives us: