Index | Thread | Search

From:
David Uhden Collado <david@uhden.dev>
Subject:
Re: Dealing with software using Linux TCP socket options
To:
kili@outback.escape.de
Cc:
ports@openbsd.org
Date:
Fri, 23 Aug 2024 21:43:37 +0200

Download raw body.

Thread
>> 2. Linux TCP Socket Options: SimpleXMQ, on which the SimpleX Chat CLI client
>> depends, uses Linux-specific TCP socket options [2] that are not available
>> in OpenBSD [3], namely TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT. My
>> questions regarding this issue are:
> [...]
> 
> For all of those options,
> 
> 	https://man7.org/linux/man-pages/man7/tcp.7.html
> 
> states that they should not be used in coded intended to be portable.
> So you should probably ask upstream why they use those options.
> 

I know that these TCP socket options are not defined in the POSIX 
standard, which is why different Unix-like operating systems have 
varying options in their TCP stack. However, it is understandable why 
the SimpleX Chat project and other software projects utilize these 
options. These options are not only available on Linux but also on all 
actively developed free Unix-like operating systems, with the exception 
of OpenBSD. FreeBSD [1], NetBSD [2], DragonFlyBSD [3], and even 
operating systems based on illumos [4] (the successor of OpenSolaris) 
include these options in their TCP stack.

References:
1. https://man.freebsd.org/cgi/man.cgi?query=tcp&sektion=4
2. https://man.netbsd.org/tcp.4
3. https://man.dragonflybsd.org/?command=tcp
4. https://www.illumos.org/man/4P/TCP