Systemd/src/libsystemd-network
Lennart Poettering 1e7a0e21c9 network: beef up ipv6 RA support considerably
This reworks sd-ndisc and networkd substantially to support IPv6 RA much more
comprehensively. Since the API is extended quite a bit networkd has been ported
over too, and the patch is not as straight-forward as one could wish. The
rework includes:

- Support for DNSSL, RDNSS and RA routing options in sd-ndisc and networkd. Two
  new configuration options have been added to networkd to make this
  configurable.

- sd-ndisc now exposes an sd_ndisc_router object that encapsulates a full RA
  message, and has direct, friendly acessor functions for the singleton RA
  properties, as well as an iterative interface to iterate through known and
  unsupported options. The router object may either be retrieved from the wire,
  or generated from raw data. In many ways the sd-ndisc API now matches the
  sd-lldp API, except that no implicit database of seen data is kept. (Note
  that sd-ndisc actually had a half-written, but unused implementaiton of such
  a store, which is removed now.)

- sd-ndisc will now collect the reception timestamps of RA, which is useful to
  make sd_ndisc_router fully descriptive of what it covers.

Fixes: #1079
2016-06-06 20:11:38 +02:00
..
arp-util.c util-lib: split out fd-related operations into fd-util.[ch] 2015-10-25 13:19:18 +01:00
arp-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dhcp-identifier.c dhcp-identifier: un-inline dhcp_validate_duid_len 2016-05-03 12:09:38 -04:00
dhcp-identifier.h network: get rid of DUID_TYPE_RAW 2016-05-03 12:26:43 -04:00
dhcp-internal.h sd-network: unify packet processing logic a bit 2016-05-26 15:34:41 +02:00
dhcp-lease-internal.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dhcp-network.c util-lib: split out fd-related operations into fd-util.[ch] 2015-10-25 13:19:18 +01:00
dhcp-option.c tree-wide: make ++/-- usage consistent WRT spacing 2016-02-22 20:32:04 -08:00
dhcp-packet.c tree-wide: make ++/-- usage consistent WRT spacing 2016-02-22 20:32:04 -08:00
dhcp-protocol.h dhcp: fix operator precedence issue with macro 2016-05-26 15:34:42 +02:00
dhcp-server-internal.h networkd: Add EmitRouter= option for DHCP Server (#3251) 2016-05-17 19:34:25 -04:00
dhcp6-internal.h sd-dhcp6-client: add log_errno macro and improve debug messages a bit 2016-05-15 19:57:00 -04:00
dhcp6-lease-internal.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dhcp6-network.c sd-dhcp6-client: bind to link-local address 2015-11-17 14:17:41 +01:00
dhcp6-option.c Merge pull request #2589 from keszybz/resolve-tool-2 2016-02-13 11:15:41 +01:00
dhcp6-protocol.h DHCP DUID, IAID configuration options 2016-03-30 16:33:55 -07:00
icmp6-util.c network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00
icmp6-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
lldp-internal.h lldp: add proper ref counting to sd_lldp object and a separate call for setting the ifindex 2016-06-06 19:59:07 +02:00
lldp-neighbor.c lldp: rename TLV accessor pseudo-macros 2016-06-06 19:59:08 +02:00
lldp-neighbor.h lldp: rename TLV accessor pseudo-macros 2016-06-06 19:59:08 +02:00
lldp-network.c sd-lldp: fix how we create the LLDP listening socket 2016-02-20 22:42:29 +01:00
lldp-network.h tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
Makefile sd-network: add new library 2014-02-28 01:01:13 +01:00
ndisc-internal.h network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00
ndisc-router.c network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00
ndisc-router.h network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00
network-internal.c network: use inet_ntop() rather than SD_NDISC_ADDRESS_FORMAT_VAL() when serializing 2016-06-06 19:59:09 +02:00
network-internal.h tree-wide: port more code to use ifname_valid() 2016-05-09 15:45:31 +02:00
sd-dhcp-client.c sd-network: don't needlessly abbreviate "callback" as "cb" in struct members 2016-05-26 15:34:42 +02:00
sd-dhcp-lease.c core: avoid compiler warning when compiling with -fexceptions 2016-02-27 13:40:50 +01:00
sd-dhcp-server.c dhcp-server: fix integer underflow 2016-05-30 18:28:51 +02:00
sd-dhcp6-client.c sd-network: don't needlessly abbreviate "callback" as "cb" in struct members 2016-05-26 15:34:42 +02:00
sd-dhcp6-lease.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
sd-ipv4acd.c ipv4acd: rename "ll" parameter to "acd" everywhere 2016-05-26 15:34:43 +02:00
sd-ipv4ll.c ipv4ll: shorten some checks by using IN_SET a bit 2016-05-26 15:34:43 +02:00
sd-lldp.c lldp: minor coding style improvement 2016-06-06 19:59:08 +02:00
sd-ndisc.c network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00
test-acd.c sd-network: rename "index" field of the various clients to "ifindex" 2016-05-26 15:34:42 +02:00
test-dhcp-client.c sd-network: rename "index" field of the various clients to "ifindex" 2016-05-26 15:34:42 +02:00
test-dhcp-option.c Merge pull request #2589 from keszybz/resolve-tool-2 2016-02-13 11:15:41 +01:00
test-dhcp-server.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
test-dhcp6-client.c sd-network: rename "index" field of the various clients to "ifindex" 2016-05-26 15:34:42 +02:00
test-ipv4ll-manual.c sd-network: rename "index" field of the various clients to "ifindex" 2016-05-26 15:34:42 +02:00
test-ipv4ll.c ipv4ll: change "seed" parameter to be uint64_t 2016-05-26 15:34:43 +02:00
test-lldp.c lldp: add proper ref counting to sd_lldp object and a separate call for setting the ifindex 2016-06-06 19:59:07 +02:00
test-ndisc-rs.c network: beef up ipv6 RA support considerably 2016-06-06 20:11:38 +02:00