Date: Wed, 2 Mar 2016 17:27:22 -0600 From: Joe Love <joe@getsomewhere.net> To: freebsd-emulation@freebsd.org Subject: linux(64)-compat and ipv6 setsockopt Message-ID: <7B0DAB1F-3C71-4E20-BC50-8EF4541B8D91@getsomewhere.net>
index | next in thread | raw e-mail
I’ve been using FreeBSD 11 with the linux64 support, and have been using the not-included centos6.7-64bit ports patch to run some programs which depend on a more modern linux installation. Specifically, I’ve been using them for Steamcmd, Ark:Survival Evolved, and Factorio (headless). The latest of which started this journey. It seems that a piece of code related to setting a particular socket option for IPv6 sockets fails under the linux compat layer: int ipv6only = 1; setsockopt(this->fd6, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6only, sizeof(ipv6only)); Both Steamcmd and Factorio would spit out error messages like this (this one being from Factorio): 1.132 Error MultiplayerManager.cpp:108: MultiplayerManager failed: "Setsockopt failed: Protocol not available” One of the devs for Factorio looked through a more complete trace, and their code, and realized that the above line of code was singled out as causing the error. In trying to understand the issue, I tried their advice - disable IPv6 (which involved a buildworld/buildkernel) and tried the process again. In doing so, their code completely skips trying to setup IPv6 at all, so the program runs fine. Steamcmd also stopped producing the message, so I assume its issue is similar, or at least also related to IPv6 support. I think steamcmd is actually 32bit, so it should be able to verify that same message on a 10.2 system. Ultimately, I’m wondering if there’s a known issue with IPv6 support of linux apps running using the linux compat module. Thanks, -Joehome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7B0DAB1F-3C71-4E20-BC50-8EF4541B8D91>
