-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14126 from akshaim/Kconfig_tcp
gnrc/tcp : Expose configurations to Kconfig
- Loading branch information
Showing
10 changed files
with
222 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.