Thomas Haller 2a30e4b75b Squashed 'shared/n-acd/' changes from 54708168399f..0237ba54bef7
0237ba54bef7 ci: switch to c-util automation
0a8c47d55a65 ci: switch to github-actions
b10e6918ab42 build: update submodules
596b7e70acbe n-acd: fix valgrind warnings
70e2822584e0 build: update submodules
1446edb496d9 ci: drop broken armv7hl
6093f34b019b n-acd: fix leaking socket handle in n_acd_socket_new() when setsockopt() fails

git-subtree-dir: shared/n-acd
git-subtree-split: 0237ba54bef7d91232a9285c2ec93f3e5691a1b2
2020-06-03 22:11:43 +02:00

n-acd

IPv4 Address Conflict Detection

The n-acd project implements the IPv4 Address Conflict Detection standard as defined in RFC-5227. The state machine is implemented in a shared library and provides a stable ISO-C11 API. The implementation is linux-only and relies heavily on the API behavior of recent linux kernel releases.

Project

Requirements

The requirements for this project are:

  • Linux kernel >= 3.19
  • libc (e.g., glibc >= 2.16)

At build-time, the following software is required:

  • meson >= 0.41
  • pkg-config >= 0.29

Build

The meson build-system is used for this project. Contact upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

mkdir build
cd build
meson setup ..
ninja
meson test
ninja install

The following configuration options are available:

  • ebpf: This boolean controls whether ebpf features are used to improve the package filtering performance. If disabled, classic bpf will be used. This feature requires a rather recent kernel (>=3.19). Default is: true

Repository:

License:

  • Apache-2.0 OR LGPL-2.1-or-later
  • See AUTHORS file for details.
Languages
C 97%
Python 1.2%
Shell 0.9%
Meson 0.6%
Lua 0.2%
Other 0.1%