In an effort to shave off code size, remove out-of-the-box enabling of crypto features (except SHA-256). Configurations are adjusted to enable what they need. Bonuses: - When enabled, AES now defaults to using a smaller version (`CONFIG_MBEDTLS_AES_ROM_TABLES` isn't default enabled anymore, and if enabled, `CONFIG_MBEDTLS_AES_FEWER_TABLES` defaults to y). - Conditions around Mbed TLS Kconfig options have been improved to reflect the reality of the dependencies. Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
121 lines
3.5 KiB
Plaintext
121 lines
3.5 KiB
Plaintext
CONFIG_NETWORKING=y
|
|
CONFIG_LOG=y
|
|
CONFIG_TEST_RANDOM_GENERATOR=y
|
|
CONFIG_NET_IPV4=y
|
|
CONFIG_NET_IPV6=n
|
|
CONFIG_NET_DHCPV4=n
|
|
CONFIG_NET_PKT_RX_COUNT=4
|
|
CONFIG_NET_PKT_TX_COUNT=4
|
|
CONFIG_NET_BUF_RX_COUNT=8
|
|
CONFIG_NET_BUF_TX_COUNT=8
|
|
CONFIG_NET_MAX_CONTEXTS=4
|
|
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1"
|
|
CONFIG_NET_CONFIG_MY_IPV4_GW="192.0.2.2"
|
|
CONFIG_NET_CONFIG_NEED_IPV4=y
|
|
CONFIG_NET_CONFIG_SETTINGS=y
|
|
|
|
CONFIG_LWM2M=y
|
|
CONFIG_LWM2M_IPSO_SUPPORT=y
|
|
CONFIG_LWM2M_SHELL=y
|
|
|
|
CONFIG_LWM2M_TICKLESS=y
|
|
CONFIG_NET_SOCKETPAIR=y
|
|
|
|
#Enable test objects
|
|
CONFIG_LWM2M_PORTFOLIO_OBJ_SUPPORT=y
|
|
CONFIG_LWM2M_BINARYAPPDATA_OBJ_SUPPORT=y
|
|
CONFIG_LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT=y
|
|
CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT=y
|
|
|
|
#LwM2M v1.1 configure
|
|
CONFIG_LWM2M_VERSION_1_1=y
|
|
CONFIG_LWM2M_DTLS_SUPPORT=y
|
|
CONFIG_LWM2M_DTLS_CID=y
|
|
CONFIG_LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP=y
|
|
|
|
#Enable SenML JSON content format
|
|
CONFIG_JSON_LIBRARY=y
|
|
CONFIG_BASE64=y
|
|
CONFIG_LWM2M_RW_SENML_JSON_SUPPORT=y
|
|
|
|
#Enable SenML CBOR content format
|
|
CONFIG_LWM2M_RW_SENML_CBOR_SUPPORT=y
|
|
CONFIG_LWM2M_RW_SENML_CBOR_RECORDS=60
|
|
CONFIG_ZCBOR_CANONICAL=y
|
|
|
|
#Enable legacy content formats
|
|
CONFIG_LWM2M_RW_JSON_SUPPORT=y
|
|
CONFIG_LWM2M_RW_OMA_TLV_SUPPORT=y
|
|
|
|
# Longer endpoint name might be returned in a registration reply
|
|
CONFIG_COAP_EXTENDED_OPTIONS_LEN=y
|
|
CONFIG_COAP_EXTENDED_OPTIONS_LEN_VALUE=40
|
|
|
|
# Speed up testing, we are running in non-lossy network
|
|
CONFIG_COAP_INIT_ACK_TIMEOUT_MS=1000
|
|
CONFIG_COAP_RANDOMIZE_ACK_TIMEOUT=n
|
|
CONFIG_LWM2M_RD_CLIENT_MAX_RETRIES=2
|
|
|
|
# Use QUEUE mode by default
|
|
CONFIG_LWM2M_QUEUE_MODE_ENABLED=y
|
|
CONFIG_LWM2M_QUEUE_MODE_UPTIME=20
|
|
CONFIG_LWM2M_UPDATE_PERIOD=30
|
|
CONFIG_LWM2M_RD_CLIENT_STOP_POLLING_AT_IDLE=y
|
|
CONFIG_LWM2M_SECONDS_TO_UPDATE_EARLY=1
|
|
|
|
# LwM2M configuration as OMA-ETS-LightweightM2M_INT-V1_1-20190912-D Configuration 3
|
|
CONFIG_LWM2M_ENGINE_DEFAULT_LIFETIME=30
|
|
CONFIG_LWM2M_SERVER_DEFAULT_PMIN=1
|
|
CONFIG_LWM2M_SERVER_DEFAULT_PMAX=10
|
|
|
|
CONFIG_MBEDTLS=y
|
|
CONFIG_MBEDTLS_TLS_VERSION_1_2=y
|
|
CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID=y
|
|
|
|
# Special MbedTLS changes
|
|
CONFIG_MBEDTLS_ENABLE_HEAP=y
|
|
# MTU - IPv6 header - UDP header - DTLS header
|
|
# 1280 - 40 - 8 - 21
|
|
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=1211
|
|
CONFIG_MBEDTLS_HEAP_SIZE=7168
|
|
CONFIG_MBEDTLS_CIPHER_AES_ENABLED=y
|
|
CONFIG_MBEDTLS_CIPHER_CCM_ENABLED=y
|
|
# Disable RSA, we don't parse certs: saves flash/memory
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED=n
|
|
# Enable PSK instead
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y
|
|
CONFIG_LWM2M_SECURITY_DTLS_TLS_CIPHERSUITE_MAX=3
|
|
|
|
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
|
|
# For testing purposes, limit DTLS contexts to one,
|
|
# LwM2M engine should not use more than one on any given time.
|
|
CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=1
|
|
CONFIG_NET_SOCKETS_ENABLE_DTLS=y
|
|
CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID=y
|
|
|
|
# Assume that IPv6 minimum MTU is accepted
|
|
# MTU - IPv6 header - UDP header - DTLS header - CoAP header room
|
|
# 1280 - 40 - 8 - 21 - 48
|
|
CONFIG_LWM2M_COAP_MAX_MSG_SIZE=1163
|
|
CONFIG_LWM2M_COAP_BLOCK_SIZE=512
|
|
CONFIG_LWM2M_COAP_BLOCK_TRANSFER=y
|
|
CONFIG_LWM2M_COAP_ENCODE_BUFFER_SIZE=8192
|
|
CONFIG_LWM2M_NUM_OUTPUT_BLOCK_CONTEXT=2
|
|
CONFIG_LWM2M_NUM_BLOCK1_CONTEXT=2
|
|
CONFIG_SYS_HASH_FUNC32=y
|
|
CONFIG_LWM2M_ENGINE_VALIDATION_BUFFER_SIZE=0
|
|
CONFIG_LWM2M_ENGINE_MAX_PENDING=2
|
|
CONFIG_LWM2M_ENGINE_MAX_REPLIES=2
|
|
CONFIG_LWM2M_ENGINE_MAX_MESSAGES=3
|
|
CONFIG_LWM2M_ENGINE_MAX_OBSERVER=5
|
|
CONFIG_LWM2M_DEVICE_PWRSRC_MAX=2
|
|
CONFIG_LWM2M_DEVICE_ERROR_CODE_MAX=2
|
|
CONFIG_LWM2M_DEVICE_EXT_DEV_INFO_MAX=2
|
|
CONFIG_LWM2M_NUM_ATTR=20
|
|
|
|
# Configure stack sizes
|
|
CONFIG_MAIN_STACK_SIZE=1024
|
|
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
|
|
CONFIG_SHELL_STACK_SIZE=1536
|
|
CONFIG_LWM2M_ENGINE_STACK_SIZE=2048
|