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.