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_TCP2 && !NET_RAW_MODE && NETWORKING

(Includes any dependencies from ifs and menus.)

Default

  • 100

Kconfig definition

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

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

config NET_TCP_RECV_QUEUE_TIMEOUT
    int "How long to queue received data (in ms)"
    range 0 10000
    default 100
    depends on NET_TCP2 && !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.)