Go to file
Beniamino Galvani 1361ede099 Squashed 'shared/n-acd/' changes from a68b55992..a40949267
a40949267 build: add CI run without ebpf
044db2056 n-acd: drop redundant headers
6a391cd83 n-acd: fix build without eBPF
bb194cf09 n-acd/config: make transport mandatory
ec2865743 build: drop unused c-sundry
721d9d84f n-acd: inline c_container_of()
1a7ee317c util/timer: fix coding-style
6c96f926b util/timer: fall back to CLOCK_MONOTONIC if necessary
4ea3165fc n-acd: only use CLOCK_BOOTTIME if really necessary
c1b853c6c util/timer: cleanup headers
b1d6ad272 n-acd: add destructors that return void
185be55b6 test-bpf: skip test in case of unsufficient privs
84a40e8fa build: add NEWS file
bf11443ff build: mention mailinglist in readme
e2797984a test-bpf: drop bpf-filter.h
668ed3c82 subprojects: pull in updates
dd8cab3f0 test-veth: reduce parallel execution to 9
68b09ba2b build: update AUTHORS
3f77e3e88 test: make function headers valid C
5275a5120 test: get rid of spurious tab
037df412c n-acd: make struct initializers valid C
346ec0c67 build: upgrade CI
38682a36d n-acd: fix signed vs unsigned comparison
5e7578b33 bpf: properly zero out trailing bpf_attr space
ee1e432ae probe: fix coding-style
a143540f9 build: use lower-case build options
835533e7d build: minor style fixes
2bd6d1d29 build: get rid of tabs
b14979934 eBPF: make compile-time optional
6f13c27ee n-acd: filter out invalid packets
4e6a169a0 build: sync with c-util repositories
6c4a9117b build: document eBPF kernel requirement
3ef08394d n-acd: don't remember dropped defense attempts
4dff8771f n-acd: fix coding-style
b11fb9706 n-acd/config: default to the RFC-specified timeout
d885bb3b7 n-acd/event: don't expose the type of operation that caused a conflict
e2f87e047 TODO: drop remaining items
f06993856 test/veth: reduce the number of probed addresses
8b4f7ed64 test/veth: bump the timeout a bit
14e4606f6 n-acd/probe: don't cap the jitter at 4s
a0247b86f test/veth: fix stackvariable corruption
a64ac8389 n-acd/probe: update comments
aa9c25bc1 n-acd/handle_timeout: update comments
b6c2df3a9 timer: rename timer_pop() to timer_pop_timeout()
47c657a8d test: fix handling of child addresses
27168ba9e timer: move timer_read() from n-acd.c to util/timer.c
21a1e37aa timer: require timer to be explicitly rearmed
ee1080820 bpf/map: make key/value sizes self-documenting
fd444353e test/veth: rework test
ba2bc433c test: rework child_ip() helper
07881b8da test: silence a warning
38da00b0a test/bpf: make tests for map modifications more comprehensive
6a2ffd23a test/timerfd: for documentation purposes verify the kernel API
01a9cf54b probe: move from ms to ns internally
4fe438dd9 n-acd: move to use the Timer utility library
e098cfc79 util: add a timer utility helper
8ea196e5b subprojects: pull in c-sundry
0c0b3c29f acd/probe: do not subscribe to packets in FAILED state
9c922ea3d acd/probe: introduce probe_{un,}link() helpers
024a830e6 acd/probe: use unschedule() helper in free()
b098a3bcc tests/veth: minor fixes to the test
fe3d9578a acd/packet: consider unexpected packets a fatal error
34d7656d7 acd: stop state-machine after USED or CONFLICT events
7d9e5ec6b acd: don't declare iovec entries inline
7afd8d8a3 tests: add veth test
26a737b42 tests/veth: add helper for adding IP addresses to child device
e73a37a11 probe: store a userdata pointer in the probe object
327e82625 test: introduce loopback helper
0682b15f8 acd: reduce default map size
afead881f tests: reinstate loopback test
4527d2f71 BPF: move and document the eBPF helpers
88bacc022 socket filter: move to the new eBPF helpers
245104d5c tests: skip tests if lacking permissions
195d9ff5a n-acd: rework API to support many probes on a context
ab440eb99 eBPF: never return packets that userspace should unconditionally drop
ac933f412 eBPF: add eBPF helper functions

git-subtree-dir: shared/n-acd
git-subtree-split: a40949267923c45cb232fa4c1d60eafacee4b36e
2018-09-18 15:14:49 +02:00
.cherryci Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
src Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
subprojects Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
.editorconfig Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
.gitmodules Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
.travis.yml Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
AUTHORS Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
AUTHORS-ASL Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
AUTHORS-LGPL Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
LICENSE Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
meson.build Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
meson_options.txt Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
NEWS Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00
README Squashed 'shared/n-acd/' changes from a68b55992..a40949267 2018-09-18 15:14:49 +02:00

n-acd - IPv4 Address Conflict Detection

ABOUT:
        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.

DETAILS:
        https://nettools.github.io/n-acd

BUG REPORTS:
        https://github.com/nettools/n-acd/issues

GIT:
        git@github.com:nettools/n-acd.git
        https://github.com/nettools/n-acd.git

GITWEB:
        https://github.com/nettools/n-acd

MAILINGLIST:
        https://groups.google.com/forum/#!forum/nettools-devel

LICENSE:
        Apache Software License 2.0
        Lesser General Public License 2.1+
        See AUTHORS for details.

REQUIREMENTS:
        The requirements for n-acd 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

INSTALL:
        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

        For custom configuration options see meson_options.txt.