[opensuse-buildservice] SCTP support
Hi all, I noticed a few minutes ago that buildhosts seem to be unable to create SCTP sockets. For instance, a call to something like this would fail: fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); So the socket call is returning -1 and strerror(errno) shows: "Protocol not supported" Which to me means the kernel in use doesn't seem to have sctp built-in or the host is somehow configured to prevent loading it. So now the question is, am I correct with my understanding? And if that's the case, is there any good reason to disable support for SCTP? Having no SCTP support in the kernel means I need to disable some unit tests of the package I'm building (libosmocore), which verify that APIs work well on different distributions (versions) and architectures. PS: Please add me in CC to answers. -- - Pau Espin Pedrol <pespin@sysmocom.de> http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Director: Harald Welte -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi Pau, Am 25.08.20 um 16:45 schrieb Pau Espin Pedrol:
Hi all,
I noticed a few minutes ago that buildhosts seem to be unable to create SCTP sockets. For instance, a call to something like this would fail:
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
So the socket call is returning -1 and strerror(errno) shows: "Protocol not supported"
Which to me means the kernel in use doesn't seem to have sctp built-in or the host is somehow configured to prevent loading it.
sctp is build as module in SUSE kernels. Most likely, this module is not loaded in the OBS build VMs.
So now the question is, am I correct with my understanding? And if
Yes, you are correct. I experienced similar issues and had to disable unit/test-gatt in bluez package because AF_ALG is not available.
that's the case, is there any good reason to disable support for SCTP?
It's probably just "only enable what's commonly needed", maybe also to reduce the attack / bug surface of the kernel in the OBS worker VMs.
Having no SCTP support in the kernel means I need to disable some unit tests of the package I'm building (libosmocore), which verify that APIs work well on different distributions (versions) and architectures.
Best regards, -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Thursday 2020-09-03 19:34, Stefan Seyfried wrote:
Am 25.08.20 um 16:45 schrieb Pau Espin Pedrol:
I noticed a few minutes ago that buildhosts seem to be unable to create SCTP sockets. For instance, a call to something like this would fail:
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
sctp is build as module in SUSE kernels. Most likely, this module is not loaded in the OBS build VMs. Yes, you are correct. I experienced similar issues and had to disable unit/test-gatt in bluez package because AF_ALG is not available.
A VM with its own kernel image can generally load modules (unlike, say, a container with a shared kernel). Requesting IPPROTO_SCTP would autoload net-pf-2-proto-132 (alias defined inside sctp.ko). The bluez build log shows that apparently no kernel RPM and no kmod RPM is installed, which would mean that there are also no .ko files and no /sbin/modprobe executable, giving reason for a failing autoloading mechanism. See if you can get AF_ALG/IPPROTO_SCTP to work when you force BuildRequires: kernel-default kmod. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am 03.09.20 um 20:04 schrieb Jan Engelhardt:
The bluez build log shows that apparently no kernel RPM and no kmod RPM is installed, which would mean that there are also no .ko files and no /sbin/modprobe executable, giving reason for a failing autoloading mechanism. See if you can get AF_ALG/IPPROTO_SCTP to work when you force BuildRequires: kernel-default kmod.
This does indeed work, but only for projects where the versions of kernel-obs-build are aligned with kernel-default. In my "devel project" home:seife:testing, I need to add Kernel:HEAD repo to be able to build KMPs for it, and then kernel-obs-build is no longer in sync with kernel-default: seife@strolchi:~/buildservice/testing/bluez> osc buildinfo openSUSE_Factory x86_64|grep '"kernel-' <bdep name="kernel-obs-build" vminstall="1" notmeta="1" version="5.8.4" release="1.1" arch="x86_64" project="openSUSE:Factory" repository="standard"/> <bdep name="kernel-default" version="5.9.rc4" release="1.1.g2817e6d" arch="x86_64" project="Kernel:HEAD" repository="standard"/> -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 2020-09-09 11:08:44 +0200, Stefan Seyfried wrote:
Am 03.09.20 um 20:04 schrieb Jan Engelhardt:
The bluez build log shows that apparently no kernel RPM and no kmod RPM is installed, which would mean that there are also no .ko files and no /sbin/modprobe executable, giving reason for a failing autoloading mechanism. See if you can get AF_ALG/IPPROTO_SCTP to work when you force BuildRequires: kernel-default kmod.
This does indeed work, but only for projects where the versions of kernel-obs-build are aligned with kernel-default.
In my "devel project" home:seife:testing, I need to add Kernel:HEAD repo to be able to build KMPs for it, and then kernel-obs-build is no longer in sync with kernel-default:
You could simply link the Kernel:HEAD kernel-source (or kernel-obs-build) package into your project (or ask if they could enable the build for the kernel-obs-build package). That is, osc linkpac Kernel:HEAD kernel-obs-build <your project> should do the trick. Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (4)
-
Jan Engelhardt
-
Marcus Hüwe
-
Pau Espin Pedrol
-
Stefan Seyfried