Extended TCP/IP Feature Bitmap#

This section provides a reference to the Transport Control Protocol and Internet Protocol (TCP/IP) extended feature bitmap in the boot configuration feature bitmaps.

Macros#

#define

DHCP USER CLASS.

#define

TCP bi-directional acknowledgment update.

#define

TCP RX window division.

#define

SSL server certificate bypass.

#define

SSL 16K record size support.

#define

Enable DNS client bypass.

#define

Enable TCP window scaling feature.

#define

Enables support for dual network stack mode.

#define

Enable dynamic coexistence memory.

#define

Configure the number of selects.

#define

Enable socket wait close.

#define

Enable embedded/internal MQTT.

#define

Enable HTTP OTAF support.

#define

Enable to update TCP window from host.

#define

Enable to update max receive length for TCP.

#define

Enable NAT support.

#define

Enable three SSL/TLS sockets.

#define

Configure additional memory for SSL/TLS connections to cloud servers.

#define

Config feature bit map validity.

#define
SL_SI91X_CONFIG_FEAT_EXTENTION_VALID SL_SI91X_CONFIG_FEAT_EXTENSION_VALID

Alias for SL_SI91X_CONFIG_FEAT_EXTENSION_VALID.

Macro Definition Documentation#

SL_SI91X_EXT_TCP_FEAT_DHCP_OPT77#

#define SL_SI91X_EXT_TCP_FEAT_DHCP_OPT77
Value:
BIT(1)

DHCP USER CLASS.

This feature enables DHCP option 77, which allows the device to specify user class information in DHCP requests.

Note

  • Bit 0 is reserved.


SL_SI91X_EXT_TCP_IP_BI_DIR_ACK_UPDATE#

#define SL_SI91X_EXT_TCP_IP_BI_DIR_ACK_UPDATE
Value:
BIT(3)

TCP bi-directional acknowledgment update.

This feature enables bi-directional data transfer by updating TCP acknowledgement handling.

Note

  • Need to enable this bit if you want to run the bi-directional data transfer.

  • Bit 2 is reserved.


SL_SI91X_EXT_TCP_IP_WINDOW_DIV#

#define SL_SI91X_EXT_TCP_IP_WINDOW_DIV
Value:
BIT(4)

TCP RX window division.

This feature allows the division of the TCP receive window, enables more granular control over the window size.


SL_SI91X_EXT_TCP_IP_CERT_BYPASS#

#define SL_SI91X_EXT_TCP_IP_CERT_BYPASS
Value:
BIT(5)

SSL server certificate bypass.

This feature allows the device to bypass SSL server certificate validation, with validation being performed by the host instead.


SL_SI91X_EXT_TCP_IP_SSL_16K_RECORD#

#define SL_SI91X_EXT_TCP_IP_SSL_16K_RECORD
Value:
BIT(6)

SSL 16K record size support.

This feature enables support for 16K SSL record sizes, which improves performance for SSL connections that use larger record sizes.


SL_SI91X_EXT_TCP_IP_DNS_CLIENT_BYPASS#

#define SL_SI91X_EXT_TCP_IP_DNS_CLIENT_BYPASS
Value:
BIT(7)

Enable DNS client bypass.

This feature allows the device to bypass the internal DNS client, using the host for DNS resolution instead.


SL_SI91X_EXT_TCP_IP_WINDOW_SCALING#

#define SL_SI91X_EXT_TCP_IP_WINDOW_SCALING
Value:
BIT(8)

Enable TCP window scaling feature.

This feature enables TCP window scaling, which allows the device to use receive window sizes larger than 64 KB.

Note

  • If this feature is not enabled, then the maximum possible RX window size is 64 KB. If you want to use more than 64 KB window size, tcp_rx_window_size_cap in socket configuration is used to increase the window size.


SL_SI91X_EXT_TCP_IP_DUAL_MODE_ENABLE#

#define SL_SI91X_EXT_TCP_IP_DUAL_MODE_ENABLE
Value:
BIT(10)

Enables support for dual network stack mode.

This feature enables support for dual network stack mode, which allows two different network stacks to run on the NWP and the external host simultaneously, which provides flexibility in network communication.

Note


SL_SI91X_EXT_DYNAMIC_COEX_MEMORY#

#define SL_SI91X_EXT_DYNAMIC_COEX_MEMORY
Value:
BIT(11)

Enable dynamic coexistence memory.

This feature dynamically adjusts the TCP receive window size based on coexistence requirements, that improves network performance in coexistence scenarios.

Note

  • To enable or disable the coexistence and update TCP RX window accordingly.


SL_SI91X_EXT_TCP_IP_TOTAL_SELECTS#

#define SL_SI91X_EXT_TCP_IP_TOTAL_SELECTS
Value:
(total_selects)

Configure the number of selects.

This feature configures the number of select operations the device can handle, with a maximum value of 10.

Note

  • Bits 12-15 are used for TOTAL_SELECTS.


SL_SI91X_EXT_TCP_IP_WAIT_FOR_SOCKET_CLOSE#

#define SL_SI91X_EXT_TCP_IP_WAIT_FOR_SOCKET_CLOSE
Value:
BIT(16)

Enable socket wait close.

This feature ensures that a socket is not closed until close() is called from the host, which is recommended for use with TCP sockets.

Note

  • If it is set socket would not be closed until close() is called from host. It is recommended to enable this bit when using TCP sockets.

  • If this bit is enabled, closing the socket will flush any pending data to be sent to remote peer.

  • If this bit is disabled, closing the socket will first send any pending data to remote peer.

  • This is always set internally for Si91x chips.


SL_SI91X_EXT_EMB_MQTT_ENABLE#

#define SL_SI91X_EXT_EMB_MQTT_ENABLE
Value:
BIT(17)

Enable embedded/internal MQTT.

This feature enables support for embedded MQTT (Message Queuing Telemetry Transport) functionality, allowing the device to use MQTT without external libraries.

Note

  • If user wants to use AT command for MQTT, enable this bit in the Opermode Command.


SL_SI91X_EXT_FEAT_HTTP_OTAF_SUPPORT#

#define SL_SI91X_EXT_FEAT_HTTP_OTAF_SUPPORT
Value:
BIT(18)

Enable HTTP OTAF support.

This feature enables support for HTTP-based Over-The-Air Firmware (OTAF) updates, that allows the device to download and install firmware updates via HTTP.

Note

  • To do firmware upgrade with HTTP this bit should be enabled.


SL_SI91X_EXT_TCP_DYNAMIC_WINDOW_UPDATE_FROM_HOST#

#define SL_SI91X_EXT_TCP_DYNAMIC_WINDOW_UPDATE_FROM_HOST
Value:
BIT(19)

Enable to update TCP window from host.

This feature allows the TCP window size to be dynamically updated from the host, that provides more control over TCP flow management.


SL_SI91X_EXT_TCP_MAX_RECV_LENGTH#

#define SL_SI91X_EXT_TCP_MAX_RECV_LENGTH
Value:
BIT(20)

Enable to update max receive length for TCP.

This feature allows the maximum receive length for TCP connections to be updated, accommodating different application requirements.


SL_SI91X_EXT_TCP_NAT_SUPPORT#

#define SL_SI91X_EXT_TCP_NAT_SUPPORT
Value:
BIT(21)

Enable NAT support.

This feature enables Network Address Translation (NAT) support, allowing stations connected to SiWx91x to access the internet through a third-party AP.


SL_SI91X_EXT_TCP_IP_FEAT_SSL_THREE_SOCKETS#

#define SL_SI91X_EXT_TCP_IP_FEAT_SSL_THREE_SOCKETS
Value:
BIT(29)

Enable three SSL/TLS sockets.

This feature allows the device to support up to three simultaneous SSL/TLS connections.

Note

  • Set tcp_ip_feature_bit_map[31] and ext_tcp_ip_feature_bit_map[29] to open three TLS sockets.

  • Bits 21-28 are reserved.


SL_SI91X_EXT_TCP_IP_FEAT_SSL_MEMORY_CLOUD#

#define SL_SI91X_EXT_TCP_IP_FEAT_SSL_MEMORY_CLOUD
Value:
BIT(30)

Configure additional memory for SSL/TLS connections to cloud servers.

This feature allocates additional memory for SSL/TLS connections, typically required for connections to cloud servers, to avoid 0xD2 error.

Note

  • If user connects to a cloud server using two SSL/TLS connections then it is required to set this bit to avoid 0xD2 error.


SL_SI91X_CONFIG_FEAT_EXTENSION_VALID#

#define SL_SI91X_CONFIG_FEAT_EXTENSION_VALID
Value:
BIT(31)

Config feature bit map validity.

This feature validates the configuration feature bit map. If this bit is enabled then only, the features present in the configuration feature bitmap can be used.


SL_SI91X_CONFIG_FEAT_EXTENTION_VALID#

#define SL_SI91X_CONFIG_FEAT_EXTENTION_VALID
Value:
SL_SI91X_CONFIG_FEAT_EXTENSION_VALID

Alias for SL_SI91X_CONFIG_FEAT_EXTENSION_VALID.

Ensure smooth migration to SL_SI91X_CONFIG_FEAT_EXTENSION_VALID the deprecation Note

  • The macro SL_SI91X_CONFIG_FEAT_EXTENTION_VALID is being deprecated and will be removed in the future. Please use SL_SI91X_CONFIG_FEAT_EXTENSION_VALID instead.