blob: 94713334760702b77bb86f6e7100898dd8efa6b3 [file] [log] [blame]
# mcumgr configuration options
# Copyright Runtime.io 2018. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
menu "Management"
config MCUMGR_SMP_BT
bool "Bluetooth mcumgr SMP transport"
select MCUMGR
select BT
select BT_PERIPHERAL
select BT_GATT_DYNAMIC_DB
help
Enables handling of SMP commands received over Bluetooth.
config MCUMGR_SMP_BT_AUTHEN
bool "Authenticated requirement for Bluetooth mcumgr SMP transport"
depends on MCUMGR_SMP_BT
select BT_SMP
default y
help
Enables encrypted and authenticated connection requirement to
Bluetooth SMP transport.
config MCUMGR_SMP_SHELL
bool "Shell mcumgr SMP transport"
select MCUMGR
select SHELL
select SHELL_BACKEND_SERIAL
select BASE64
help
Enables handling of SMP commands received over shell. This allows
the shell to be use for both mcumgr commands and shell commands.
config MCUMGR_SMP_SHELL_MTU
int "Shell SMP MTU"
default 256
depends on MCUMGR_SMP_SHELL
help
Maximum size of SMP frames sent and received over shell. This value
must satisfy the following relation:
MCUMGR_SMP_SHELL_MTU <= MCUMGR_BUF_SIZE + 2
config MCUMGR_SMP_UART
bool "UART mcumgr SMP transport"
select MCUMGR
select UART_MCUMGR
select BASE64
help
Enables handling of SMP commands received over UART. This is a
lightweight alternative to MCUMGR_SMP_SHELL. It allows mcumgr
commands to be received over UART without requiring an additional
thread.
config MCUMGR_SMP_UART_MTU
int "UART SMP MTU"
default 256
depends on MCUMGR_SMP_UART
help
Maximum size of SMP frames sent and received over UART, in bytes.
This value must satisfy the following relation:
MCUMGR_SMP_UART_MTU <= MCUMGR_BUF_SIZE + 2
source "subsys/mgmt/Kconfig.mcumgr"
config MCUMGR_SMP_UDP
bool "UDP mcumgr SMP transport"
select MCUMGR
select NETWORKING
select NET_UDP
select NET_SOCKETS
select NET_SOCKETS_POSIX_NAMES
help
Enables handling of SMP commands received over UDP.
Will start a thread for listening on the configured UDP port.
config MCUMGR_SMP_UDP_IPV4
bool "UDP SMP using IPv4"
depends on MCUMGR_SMP_UDP
depends on NET_IPV4
default y
help
Enable SMP UDP using IPv4 addressing.
Can be enabled alongside IPv6 addressing.
config MCUMGR_SMP_UDP_IPV6
bool "UDP SMP using IPv6"
depends on MCUMGR_SMP_UDP
depends on NET_IPV6
help
Enable SMP UDP using IPv6 addressing.
Can be enabled alongside IPv4 addressing.
config MCUMGR_SMP_UDP_PORT
int "UDP SMP port"
depends on MCUMGR_SMP_UDP
default 1337
help
UDP port that SMP server will listen for SMP commands on.
config MCUMGR_SMP_UDP_STACK_SIZE
int "UDP SMP stack size"
depends on MCUMGR_SMP_UDP
default 512
help
Stack size of the SMP UDP listening thread
config MCUMGR_SMP_UDP_THREAD_PRIO
int "UDP SMP thread priority"
depends on MCUMGR_SMP_UDP
default 0
help
Scheduling priority of the SMP UDP listening thread.
config MCUMGR_SMP_UDP_MTU
int "UDP SMP MTU"
depends on MCUMGR_SMP_UDP
default 1500
help
Maximum size of SMP frames sent and received over UDP, in bytes.
This value must satisfy the following relation:
MCUMGR_SMP_UDP_MTU <= MCUMGR_BUF_SIZE + SMP msg overhead - address size
where address size is determined by IPv4/IPv6 selection.
if MCUMGR
config MCUMGR_BUF_COUNT
int "Number of mcumgr buffers"
default 2 if MCUMGR_SMP_UDP
default 4
help
The number of net_bufs to allocate for mcumgr. These buffers are
used for both requests and responses.
config MCUMGR_BUF_SIZE
int "Size of each mcumgr buffer"
default 2048 if MCUMGR_SMP_UDP
default 384
help
The size, in bytes, of each mcumgr buffer. This value must satisfy
the following relation:
MCUMGR_BUF_SIZE >= transport-specific-MTU + transport-overhead
config MCUMGR_BUF_USER_DATA_SIZE
int "Size of mcumgr buffer user data"
default 24 if MCUMGR_SMP_UDP && MCUMGR_SMP_UDP_IPV6
default 8 if MCUMGR_SMP_UDP && MCUMGR_SMP_UDP_IPV4
default 4
help
The size, in bytes, of user data to allocate for each mcumgr buffer.
Different mcumgr transports impose different requirements for this
setting. A value of 4 is sufficient for UART, shell, and bluetooth.
For UDP, the userdata must be large enough to hold a IPv4/IPv6 address.
Note that CONFIG_NET_BUF_USER_DATA_SIZE must be at least as big as
MCUMGR_BUF_USER_DATA_SIZE.
endif # MCUMGR
endmenu