Adding SiWx917 Network Stack Application APIs#89716
Adding SiWx917 Network Stack Application APIs#89716ragurram26 wants to merge 17 commits intozephyrproject-rtos:mainfrom
Conversation
3f908db to
8d5e691
Compare
|
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
|
@ragurram26 please provide a more detailed PR & commit message description, explaining the background to this, why this is needed, etc. Also most people in a Zephyr context won't know what "TA" is, so you need to explain that as well. If you're adding new APIs (like the title implies) I'd also expect to see some sample code to demonstrate their usage and provide code coverage for CI. |
|
One other thing: when you have to enumerate multiple independent changes in a single commit message (like you're doing now), it's a clear indication that you should split this up into multiple commits. |
drivers/wifi/siwx91x/siwx91x_wifi.c
Outdated
| net_if_dormant_off(sidev->iface); | ||
| } | ||
|
|
||
| #ifndef CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_OFFLOAD |
There was a problem hiding this comment.
Could this use if (!IS_ENABLED(CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_OFFLOAD)) {?
8d5e691 to
8b9c083
Compare
|
@jhedberg I have updated the description .
|
8b9c083 to
6966645
Compare
b4e40e2 to
0c25983
Compare
I have added sample example in this path :samples/boards/siwx91x |
jerome-pouiller
left a comment
There was a problem hiding this comment.
This PR is big enough. I would suggest to focus on DNS and ping and see this can be accepted.
| SiWx91x series. | ||
|
|
||
| config WIFI_SILABS_SIWX91X_SSL_MEMORY_CLOUD | ||
| bool "Offloaded implementation for the SSL/TLS cloud connections" |
There was a problem hiding this comment.
Why the issue is specific to cloud servers?
| } | ||
| #ifdef CONFIG_WIFI_SILABS_SIWX91X_SOCKETS | ||
| boot_config->tcp_ip_feature_bit_map |= | ||
| SL_SI91X_TCP_IP_TOTAL_SOCKETS(CONFIG_WIFI_SILABS_SIWX91X_TOTAL_SOCKETS); |
| Overview | ||
| ******** | ||
|
|
||
| A sample application that demonstrates the DNS client and ICMP functionality.This program will get the IP address |
| #define PING_PACKET_SIZE 64 | ||
| #define PING_PACKETS 30 | ||
|
|
||
| typedef enum siwx91x_app_state_e { |
There was a problem hiding this comment.
What is the point of exposing this in the header file?
| struct net_if *iface); | ||
| static void handle_wifi_connect_result(struct net_mgmt_event_callback *cb); | ||
| static sl_status_t network_event_handler(sl_net_event_t event, sl_status_t status, void *data, | ||
| uint32_t data_length); |
There was a problem hiding this comment.
What is the point of declaring static (private) functions in public header?
| (k_thread_entry_t)application_start, NULL, NULL, NULL, | ||
| K_PRIO_PREEMPT(10), 0, K_NO_WAIT); | ||
|
|
||
| k_thread_start(application_tid); |
There was a problem hiding this comment.
What is a the point of creating a new thread?
| return; | ||
| } break; | ||
| default: { | ||
| k_sleep(K_MSEC(500)); |
There was a problem hiding this comment.
From a power consumption, latency and software design perspective, this loop event is not a great idea. Please remove it.
| case SIWX91X_WIFI_CONNECT_STATE: { | ||
| struct wifi_connect_req_params *cnx_params = NULL; | ||
|
|
||
| cnx_params = malloc(sizeof(struct wifi_connect_req_params)); |
There was a problem hiding this comment.
Any reason why you don't use the stack to allocate this struct?
| }; | ||
| } context; | ||
|
|
||
| #define WIFI_SHELL_MGMT_EVENTS (NET_EVENT_WIFI_CONNECT_RESULT) |
There was a problem hiding this comment.
Is this symbol useful?
| CONFIG_NET_DHCPV6=n | ||
| CONFIG_MAIN_STACK_SIZE=2048 | ||
| CONFIG_WIFI_SILABS_SIWX91X_PING=y | ||
| CONFIG_WIFI_SILABS_SIWX91X_DNS_CLIENT=y No newline at end of file |
There was a problem hiding this comment.
Can you provide some numbers showing the added value of CONFIG_WIFI_SILABS_SIWX91X_PING and CONFIG_WIFI_SILABS_SIWX91X_DNS_CLIENT compared to the Zephyr native implementation.
To support the SiWx917 SNTP Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Co-authored-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 HTTP Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Co-authored-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 MQTT Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 ICMP Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 Websockets Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 MDNS Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 DNS Network Stack Application protocol offloading, we need to integrate the Silicon Labs APIs, so adding the corresponding source files and include files in the kconfig and CMakelist Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 TLS Sockets , Need to enable the TLS bitmap in the intilization Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 Single TLS Sockets, Need to enable the Single TLS bitmap in the intilization Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 Three SSL Sockets, Need to enable the Three SSL bitmap in the intilization Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 SSL high streaming throughput, Need to enable the high streaming bitmap in the intilization Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
To support the SiWx917 Multiple TLS version, Need to enable the SSL version bitmap in the intilization Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
Added support for 16K SSL record sizes, which improves performance for SSL connections that use larger record sizes Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
Added support to allocate additional memory for SSL/TLS connections, typically required for connections to cloud servers Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
Added support to Configure number of selects in SiWx917 Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
Added support to Configure number of sockets in SiWx917 Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
This application demonstrates support for SiWx91x ICMP and DNS protocols Co-authored-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Swami Das Nampalli <swami.das@silabs.com> Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
|
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |



To support the SiWx917 Network Stack Application
protocol offloading, we need to add the Silicon Labs APIs,
so adding the corresponding source files and include files