Project

General

Profile

Actions

Bug #6375

closed

default TCP user timeout is way too low

Added by laforge 2 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
02/24/2024
Due date:
% Done:

100%

Spec Reference:

Description

The default USERT_IMEOUT for TCP keep-alive (which is active by default) should have been:

val = 1000 * line->keepalive_num_probes * line->keepalive_probe_interval + line->keepalive_idle_timeout;

Which should have been 1000 * 10 * 3 + 30 which expands to roughly 30 seconds.

However, I guess there's two bugs in the code, looking at it:

  1. there should have been parenthesis around the + operator (line->keepalive_probe_interval + line->keepalive_idle_timeout) as the keepalive_idle_timeout is in seconds, not milli-seconds.
  2. in the default case, all those values are configured to -1 (E1INP_USE_DEFAULT). This means we're using 1000 * -1 * -1 + -1 = 999, i.e. just below aq second which clearly is not enough for a lossy satellite back-haul.

This is actaully rather critical, a proposed untested fix is in https://gerrit.osmocom.org/c/libosmo-abis/+/36079


Files

testsuite-netem-1200ms.pcap testsuite-netem-1200ms.pcap 200 KB fixeria, 03/17/2024 08:30 PM
osmo-bts-netem-1200ms.pcap osmo-bts-netem-1200ms.pcap 483 KB fixeria, 03/17/2024 08:30 PM
osmo-bsc-netem-1200ms.pcap osmo-bsc-netem-1200ms.pcap 289 KB fixeria, 03/17/2024 08:58 PM

Checklist

  • add log output for the timeout values when they are applied
  • back-port + patch releases for 1.4.x and 1.5.x
  • add a news entry

Related issues

Related to OsmoBSC - Feature #4541: add ttcn3 tests for situations of Abis latency spikes, where chan act/deact ACK messages arrive lateNew05/09/2020

Actions
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)