You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
24878 arca-broker CALL setsockopt(23,SOL_SOCKET,SO_KEEPALIVE,0x1f005a366034,4)
24878 arca-broker RET setsockopt 0
24878 arca-broker CALL setsockopt(23,6<unknown>,8,0x1f005a366034,4)
24878 arca-broker RET setsockopt -1 errno 1 Operation not permitted
24878 arca-broker CALL close(23)
The first setsockopt() call is enabling SO_KEEPALIVE, which is OK and supported, the second setsockopt() call is trying to set the timeout with IPPROTO_TCP (6) and TCP_KEEPALIVE (mapped to SO_KEEPALIVE == 8).
Using SO_KEEPALIVE/TCP_KEEPALIVE on a IPPROTO_TCP level is not supported on OpenBSD. OpenBSD only supports global sysctl settings for setting the keepalive intervals:
@reyk, I stumbled upon the same problem as you had, and I was delighted to find that you had documented it in this ticket. According to my testing the patch in #99 fixes the problem.
Hi,
using net2 on OpenBSD, I've stumbled over this:
The first setsockopt() call is enabling SO_KEEPALIVE, which is OK and supported, the second setsockopt() call is trying to set the timeout with IPPROTO_TCP (6) and TCP_KEEPALIVE (mapped to SO_KEEPALIVE == 8).
Using SO_KEEPALIVE/TCP_KEEPALIVE on a IPPROTO_TCP level is not supported on OpenBSD. OpenBSD only supports global sysctl settings for setting the keepalive intervals:
This mapping is invalid on OpenBSD...:
https://github.com/rust-lang-nursery/net2-rs/blob/a3d51b36da8dfbc62e0df2219662537e110aeb59/src/ext.rs#L661
...as it is used here:
https://github.com/rust-lang-nursery/net2-rs/blob/master/src/ext.rs#L735-L736
...and here:
https://github.com/rust-lang-nursery/net2-rs/blob/master/src/ext.rs#L748-L749
The text was updated successfully, but these errors were encountered: