CONFIG_NET_TCP_RETRY_COUNT

Maximum number of TCP segment retransmissions

Type: int

Help

The following formula can be used to determine the time (in ms) that a segment will be be buffered awaiting retransmission: n=NET_TCP_RETRY_COUNT Sum((1<<n) * NET_TCP_INIT_RETRANSMISSION_TIMEOUT) n=0 With the default value of 9, the IP stack will try to retransmit for up to 1:42 minutes. This is as close as possible to the minimum value recommended by RFC1122 (1:40 minutes). Only 5 bits are dedicated for the retransmission count, so accepted values are in the 0-31 range. It’s highly recommended to not go below 9, though. Should a retransmission timeout occur, the receive callback is called with -ECONNRESET error code and the context is dereferenced.

Direct dependencies

NET_TCP && !NET_RAW_MODE && NETWORKING

(Includes any dependencies from ifs and menus.)

Default

  • 9

Kconfig definition

At <Zephyr>/subsys/net/ip/Kconfig:389

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:34<Zephyr>/subsys/Kconfig:37<Zephyr>/subsys/net/Kconfig:87

Menu path: (Top) → Sub Systems and OS Services → Networking → Link layer and IP networking support → IP stack → Enable TCP

config NET_TCP_RETRY_COUNT
    int "Maximum number of TCP segment retransmissions"
    default 9
    depends on NET_TCP && !NET_RAW_MODE && NETWORKING
    help
      The following formula can be used to determine the time (in ms)
      that a segment will be be buffered awaiting retransmission:
      n=NET_TCP_RETRY_COUNT
      Sum((1<<n) * NET_TCP_INIT_RETRANSMISSION_TIMEOUT)
      n=0
      With the default value of 9, the IP stack will try to
      retransmit for up to 1:42 minutes.  This is as close as possible
      to the minimum value recommended by RFC1122 (1:40 minutes).
      Only 5 bits are dedicated for the retransmission count, so accepted
      values are in the 0-31 range.  It's highly recommended to not go
      below 9, though.
      Should a retransmission timeout occur, the receive callback is
      called with -ECONNRESET error code and the context is dereferenced.

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