Files
libcoap/examples/riot/pkg_libcoap/Kconfig
T
Jon Shallow 57013f3377 RFC9177: Add in Q-Block support
examples/coap-client.c:
examples/coap-server.c:

Add in Q-Block intelligence.

include/coap3/block.h
include/coap3/coap_block_internal.h
include/coap3/coap_event.h

Add in Q-Block references.
Add in new functions
coap_block_check_q_block1_xmit()
coap_block_check_q_block2_xmit()
coap_send_q_blocks()
coap_send_q_block1()
coap_send_q_block2()
coap_block_drop_resp_q_block_xmit()
coap_block_drop_resp_q_block2_crcv()
coap_q_block_is_supported()

include/coap3/coap_session.h:

Add in new Congestion Control defaults and ability to configure them.

include/coap3/pdu.h:

Add in the new options.

libcoap-3.map:
libcoap-3.sym:

Expose external Congestion Control functions.

man/coap-client.txt.in:
man/coap-server.txt.in:
man/coap_block.txt.in:
man/coap_handler.txt.in:
man/coap_recovery.txt.in:
man/coap.txt.in:

Add in Q-Block information.

src/block.c:

Add in the new functions to support Q-Block.

src/coap_debug.c:

Output the new options as appropriate.

src/coap_io.c:

Check for Q-Block transmission timeouts.

src/coap_session.c:

Add in the Congestion Control support.

src/net.c:
src/resource.c:

Add in Q-Block support.

configure.ac
CMakeLists.txt

Add in support for enabling/disabling Q-Block support (enabled by default).
2023-07-11 11:04:04 +01:00

259 lines
7.1 KiB
Plaintext

# Copyright (c) 2019 HAW Hamburg
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
menuconfig KCONFIG_USEPKG_LIBCOAP
bool "Configure libcoap"
depends on USEPKG_LIBCOAP
help
Configure libcoap package via Kconfig.
if KCONFIG_USEPKG_LIBCOAP
choice LIBCOAP_DEBUG_LEVEL
bool "Set CoAP debugging level"
default LIBCOAP_LOG_DEBUG
help
Set CoAP debugging level
config LIBCOAP_LOG_EMERG
bool "Emergency"
config LIBCOAP_LOG_ALERT
bool "Alert"
config LIBCOAP_LOG_CRIT
bool "Critical"
config LIBCOAP_LOG_ERROR
bool "Error"
config LIBCOAP_LOG_WARNING
bool "Warning"
config LIBCOAP_LOG_NOTICE
bool "Notice"
config LIBCOAP_LOG_INFO
bool "Info"
config LIBCOAP_LOG_DEBUG
bool "Debug"
config LIBCOAP_LOG_OSCORE
bool "OSCORE"
endchoice
config LIBCOAP_MAX_LOGGING_LEVEL
int
default 0 if LIBCOAP_LOG_EMERG
default 1 if LIBCOAP_LOG_ALERT
default 2 if LIBCOAP_LOG_CRIT
default 3 if LIBCOAP_LOG_ERROR
default 4 if LIBCOAP_LOG_WARNING
default 5 if LIBCOAP_LOG_NOTICE
default 6 if LIBCOAP_LOG_INFO
default 7 if LIBCOAP_LOG_DEBUG
default 8 if LIBCOAP_LOG_OSCORE
config LIBCOAP_IPV4_SUPPORT
bool "Enable IPv4 support within CoAP"
default n
help
Enable IPv4 functionality for CoAP.
If this option is disabled, redundant CoAP IPv4 code is removed.
config LIBCOAP_IPV6_SUPPORT
bool "Enable IPv6 support within CoAP"
default y
help
Enable IPv6 functionality for CoAP.
If this option is disabled, redundant CoAP IPv6 code is removed.
config LIBCOAP_TCP_SUPPORT
bool "Enable TCP support within CoAP"
default n
help
Enable TCP functionality for CoAP. This is required if TLS sessions
are to be used. Note that RIOT TCP support also needs to be enabled.
If this option is disabled, redundant CoAP TCP code is removed.
config LIBCOAP_OSCORE_SUPPORT
bool "Enable OSCORE support within CoAP"
default n
help
Enable OSCORE functionality for CoAP.
If this option is disabled, redundant CoAP OSCORE code is removed.
config LIBCOAP_OBSERVE_PERSIST
bool "Enable Observe persist support within CoAP"
default n
help
Enable Observe persist functionality for CoAP.
If this option is disabled, redundant CoAP Observe persist code is removed.
config LIBCOAP_WS_SOCKET
bool "Enable WebSocket support within CoAP"
default n
help
Enable WebSocket functionality for CoAP.
If this option is disabled, redundant CoAP WebSocket code is removed.
config LIBCOAP_Q_BLOCK_SUPPORT
bool "Enable Q-Block (RFC9177) support within CoAP"
default n
help
Enable Q-Block (RFC9177) functionality for CoAP.
If this option is disabled, redundant CoAP Q-Block code is removed.
config LIBCOAP_ASYNC_SUPPORT
bool "Enable separate responses support within CoAP"
default y
help
Enable async separate responses functionality for CoAP.
If this option is disabled, redundent CoAP async separate responses code is removed.
config LIBCOAP_CLIENT_SUPPORT
bool "Enable Client functionality within CoAP"
default n
help
Enable client functionality (ability to make requests and receive
responses) for CoAP. If the server is going to act as a proxy, then
this needs to be enabled to support the ongoing session going to
the next hop.
If this option is disabled, redundant CoAP client only code is
removed.
If both this option and LIBCOAP_SERVER_SUPPORT are disabled, then
both are automatically enabled for backwards compatability.
config LIBCOAP_SERVER_SUPPORT
bool "Enable Server functionality within CoAP"
default n
help
Enable server functionality (ability to receive requests and send
responses) for CoAP.
If this option is disabled, redundant CoAP server only code is
removed.
If both this option and LIBCOAP_CLIENT_SUPPORT are disabled, then
both are automatically enabled for backwards compatability.
config LIBCOAP_MAX_STRING_SIZE
int "Max size of string memory allocation"
default 64
help
The maximum size of a supported string.
config LIBCOAP_MAX_STRINGS
int "Max number of strings supported"
default 16
help
The maximum number of supported strings.
config LIBCOAP_MAX_ENDPOINTS
int "Max number of endpoints supported"
default 4
help
The maximum number of supported endpoints.
config LIBCOAP_MAX_RESOURCES
int "Max number of resources supported"
default 8
help
The maximum number of supported resources.
config LIBCOAP_MAX_ATTRIBUTE_SIZE
int "Max size of attribute memory allocation"
default 16
help
The maximum size of a supported attribute.
config LIBCOAP_MAX_ATTRIBUTES
int "Max number of resource attributes supported"
default 32
help
The maximum number of supported resource attributes.
config LIBCOAP_MAX_PACKETS
int "Max number of packets supported"
default 4
help
The maximum number of supported packets.
config LIBCOAP_MAX_NODES
int "Max number of nodes supported"
default 16
help
The maximum number of supported nodes.
config LIBCOAP_MAX_CONTEXTS
int "Max number of contexts supported"
default 1
help
The maximum number of supported contexts.
config LIBCOAP_MAX_PDUS
int "Max number of PDUs supported"
default 16
help
The maximum number of supported PDUs.
config LIBCOAP_MAX_DTLS_SESSIONS
int "Max number of DTLS sessions supported"
default 2
help
The maximum number of supported DTLS sessions.
config LIBCOAP_MAX_SESSIONS
int "Max number of sessions supported"
default 4
help
The maximum number of supported sessions.
config LIBCOAP_MAX_OPTION_SIZE
int "Max size of option memory allocation"
default 16
help
The maximum size of a supported options.
config LIBCOAP_MAX_OPTIONS
int "Max number of options supported"
default 16
help
The maximum number of supported options.
config LIBCOAP_MAX_CACHE_KEYS
int "Max number of cache keys supported"
default 2
help
The maximum number of supported cache keys.
config LIBCOAP_MAX_CACHE_ENTRIES
int "Max number of cache entries supported"
default 2
help
The maximum number of supported cache entries.
config LIBCOAP_MAX_LG_CRCVS
int "Max number of client large receives supported"
default 1
help
The maximum number of supported client large receives.
config LIBCOAP_MAX_LG_SRCVS
int "Max number of server large receives supported"
default 2
help
The maximum number of supported server large receives.
config LIBCOAP_MAX_LG_XMITS
int "Max number of large transmits supported"
default 2
help
The maximum number of supported large trqnsmits.
endif # KCONFIG_USEPKG_LIBCOAP