CONFIG_NET_TCP_RECV_QUEUE_TIMEOUT

How long to queue received data (in ms)

Type: int

Help

If we receive out-of-order TCP data, we queue it. This value tells
how long the data is kept before it is discarded if we have not been
able to pass the data to the application. If set to 0, then receive
queing is not enabled. The value is in milliseconds.
Note that we only queue data sequentially in current version i.e.,
there should be no holes in the queue. For example, if we receive
SEQs 5,4,3,6 and are waiting SEQ 2, the data in segments 3,4,5,6 is
queued (in this order), and then given to application when we receive
SEQ 2. But if we receive SEQs 5,4,3,7 then the SEQ 7 is discarded
because the list would not be sequential as number 6 is be missing.

Direct dependencies

NET_TCP && !NET_RAW_MODE && NETWORKING

(Includes any dependencies from ifs and menus.)

Default

  • 100

Kconfig definition

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

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:44<Zephyr>/subsys/Kconfig:39<Zephyr>/subsys/net/Kconfig:83

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

config NET_TCP_RECV_QUEUE_TIMEOUT
    int "How long to queue received data (in ms)"
    range 0 10000
    default 100
    depends on NET_TCP && !NET_RAW_MODE && NETWORKING
    help
      If we receive out-of-order TCP data, we queue it. This value tells
      how long the data is kept before it is discarded if we have not been
      able to pass the data to the application. If set to 0, then receive
      queing is not enabled. The value is in milliseconds.
      Note that we only queue data sequentially in current version i.e.,
      there should be no holes in the queue. For example, if we receive
      SEQs 5,4,3,6 and are waiting SEQ 2, the data in segments 3,4,5,6 is
      queued (in this order), and then given to application when we receive
      SEQ 2. But if we receive SEQs 5,4,3,7 then the SEQ 7 is discarded
      because the list would not be sequential as number 6 is be missing.

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