1.2.2.1.3 NET_PRES Configuration with wolfSSL
Net Apps which are configured to run in encrypted mode (using wolfSSL) either a client or a server, the following configuration are required:
(I) RTOS Task Priority Levels
The RTOS task priority levels should follow this rule:
- (NET_PRES Priority level) > (TCPIP Stack Priority level); All other task priority levels lower than the TCPIP Stack Priority level and can share same priority level.
Note: If there're other entities/tasks in the project, which calls the NetPres APIs directly, then that particular task also would need a higher priority than the TCPIP Stack Priority level.
For example:
wolfssl_tcp_client demo: The app.c has direct calls to NetPres APIs, hence the priority levels for this project should be this:
- (NET_PRES Priority level) > (APP Task Priority level) > (TCPIP Stack Priority level); All other task priority levels lower than the TCPIP Stack Priority level and can share same priority level.
(II) RTOS Task Stack Size
- NET_PRES_RTOS_STACK_SIZE > 40 KB
(III) Socket Buffer Sizes (In case of HTTP Server demo)
- TCPIP_HTTP_NET_SKT_TX_BUFF_SIZE and TCPIP_HTTP_NET_SKT_RX_BUFF_SIZE should be minimum 2KB, but preferable > 2500 bytes.
- This setting should be enforced for all projects, bare-metal and RTOS!
- Also, for any socket using encryption with NET_PRES and wolfSSL.