Skip to content
Failed

Changes

Summary

  1. build: detect netns support via configure-time capability checks (details)
Commit f2ad3f05b2910158a1f8f2e2510e3b13fe245f30 by dtv.comp
build: detect netns support via configure-time capability checks

The netns API was previously guarded by platform-specific preprocessor
conditions (e.g. !EMBEDDED and defined(__linux__)), which caused the
netns headers and implementation to be entirely excluded from non-Linux
builds such as Emscripten. This in turn led to build failures in code
depending on the netns API, as the symbols and declarations were not
available at all.

Replace the hard-coded platform checks with explicit configure-time
capability detection. The build now checks for the concrete requirements
needed by netns and netdev support, including the availability of setns(), unshare(),
mount(), the CLONE_NEWNET macro and required headers.

Based on the result of these checks, USE_NETNS is defined and netns support
is either enabled or disabled in a controlled manner.

Netns and netdev support remains disabled for embedded builds.

No functional changes intended for platforms where netns is available.

Change-Id: I2322eb2936bea35596f1fd6b6a713ea5f997b1ea
The file was modifiedinclude/osmocom/core/netns.h
The file was modifiedinclude/osmocom/core/netdev.h
The file was modifiedsrc/core/Makefile.am
The file was modifiedsrc/core/netdev.c
The file was modifiedconfigure.ac
The file was modifiedsrc/core/netns.c