CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN

Max payload size for TLS protocol message

Type: int

Help

The TLS standards mandate max payload size of 16384 bytes. So, for maximum operability and for general-purpose usage, that value must be used. For specific usages, that value can be largely decreased. E.g. for DTLS, payload size is limited by UDP datagram size, and even for HTTPS REST API, the payload can be limited to max size of (REST request, REST response, server certificate(s)). mbedTLS uses this value separate for input and output buffers, so twice this value will be allocated (on mbedTLS own heap, so the value of MBEDTLS_HEAP_SIZE should accommodate that).

Direct dependencies

MBEDTLS_BUILTIN && MBEDTLS

(Includes any dependencies from ifs and menus.)

Defaults

  • 1500

Kconfig definition

At modules/Kconfig.mbedtls:59

Included via Kconfig:10Kconfig.zephyr:13modules/Kconfig:8

Menu path: (Top) → Modules → mbedTLS Support

config MBEDTLS_SSL_MAX_CONTENT_LEN
    int "Max payload size for TLS protocol message"
    default 1500
    depends on MBEDTLS_BUILTIN && MBEDTLS
    help
      The TLS standards mandate max payload size of 16384 bytes. So, for
      maximum operability and for general-purpose usage, that value must
      be used. For specific usages, that value can be largely decreased.
      E.g. for DTLS, payload size is limited by UDP datagram size, and
      even for HTTPS REST API, the payload can be limited to max size of
      (REST request, REST response, server certificate(s)).
      mbedTLS uses this value separate for input and output buffers, so
      twice this value will be allocated (on mbedTLS own heap, so the
      value of MBEDTLS_HEAP_SIZE should accommodate that).

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)