1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

gnrc/tcp : Expose to Kconfig

Expose configurations to Kconfig
This commit is contained in:
Akshai M 2020-05-23 23:20:51 +05:30
parent badeb74d16
commit c191b009a3
2 changed files with 116 additions and 0 deletions

View File

@ -13,5 +13,6 @@ rsource "netif/Kconfig"
rsource "network_layer/ipv6/Kconfig"
rsource "network_layer/sixlowpan/Kconfig"
rsource "routing/rpl/Kconfig"
rsource "transport_layer/tcp/Kconfig"
endmenu # GNRC Network Stack

View File

@ -0,0 +1,115 @@
# Copyright (c) 2020 Freie Universitaet Berlin
#
# 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_MODULE_GNRC_TCP
bool "Configure GNRC_TCP"
depends on MODULE_GNRC_TCP
help
Configure the GNRC_TCP using Kconfig.
if KCONFIG_MODULE_GNRC_TCP
config GNRC_TCP_CONNECTION_TIMEOUT_DURATION
int "Timeout duration for user calls in microseconds"
default 120000000
help
Timeout duration for user calls. Default value is 120000000 microseconds
(2 minutes).
config GNRC_TCP_MSL
int "Maximum segment lifetime (MSL) in microseconds"
default 30000000
help
Maximum segment lifetime (MSL) in microseconds. Default value is 30
seconds.
config GNRC_TCP_MSS
int "Maximum Segment Size (MSS)"
default 1220 if MODULE_GNRC_IPV6
default 576
config GNRC_TCP_MSS_MULTIPLICATOR
int "Number of MSS sized packets stored in receive buffer"
default 1
help
Configure MSS Multiplicator i.e. number of MSS sized packets stored in
receive buffer.
config GNRC_TCP_DEFAULT_WINDOW_EN
bool "Enable configuration of TCP window size"
help
Enable configuration of TCP window size. If not enabled, TCP window size
will default to the product of Maximum Segment Size and the number of
MSS sized packets i.e. CONFIG_GNRC_TCP_MSS *
CONFIG_GNRC_TCP_MSS_MULTIPLICATOR.
config GNRC_TCP_DEFAULT_WINDOW
int "TCP receive window size"
default 1220 if MODULE_GNRC_IPV6
default 576
depends on GNRC_TCP_DEFAULT_WINDOW_EN
help
Configure TCP receive window size. This value determines the maximum
amount of bytes that can be received from the peer at a given moment.
config GNRC_TCP_RCV_BUFFERS
int "Number of preallocated receive buffers"
default 1
config GNRC_TCP_RTO_LOWER_BOUND
int "Lower bound for RTO in microseconds"
default 1000000
help
Lower bound value for retransmission timeout (RTO) in microseconds.
Default value is 1000000 microseconds (1 second). Retransmission
timeout determines how long TCP waits for acknowledgment (ACK) of
transmitted segment. Refer to RFC 6298 for more information.
config GNRC_TCP_RTO_UPPER_BOUND
int "Upper bound for RTO in microseconds"
default 60000000
help
Upper bound value for retransmission timeout (RTO) in microseconds.
Default value is 60000000 microseconds (60 seconds). Refer to RFC 6298
for more information.
config GNRC_TCP_RTO_GRANULARITY
int "Clock granularity for RTO in microseconds"
default 10000
help
Clock granularity for retransmission timeout (RTO) for TCP in
microseconds. Default value is 10000 microseconds (10 milliseconds).
Refer to RFC 6298 for more information.
config GNRC_TCP_RTO_A_DIV
int "Alpha value divisor for RTO calculation"
default 8
help
Alpha value divisor to calculate retransmission timeout (RTO). The
default value for divisor is 8 which would result in an alpha value of
1/8.
config GNRC_TCP_RTO_B_DIV
int "Beta value divisor for RTO calculation"
default 4
help
Beta value divisor to calculate retransmission timeout (RTO). The
default value for divisor is 4 which would result in a beta value of
1/4.
config GNRC_TCP_RTO_K
int "K value for RTO calculation"
default 4
config GNRC_TCP_PROBE_LOWER_BOUND
int "Lower bound for the duration between probes in microseconds"
default 1000000
config GNRC_TCP_PROBE_UPPER_BOUND
int "Lower bound for the duration between probes in microseconds"
default 60000000
endif # KCONFIG_MODULE_GNRC_TCP