summaryrefslogtreecommitdiffstats
path: root/src/libsystemd-network/sd-radv.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * radv: Allow setting MTU in all casesPatrik Flykt2018-01-041-3/+0
| | | | | | | | | | Setting MTU is allowed in all cases and the MTU value will be announced in the subsequent Router Advertisements.
| * radv: Add function to remove prefixesPatrik Flykt2018-01-041-0/+26
| | | | | | | | | | | | As DHCPv6 leases may expire at some point, the delegated prefixes have to be removed. Add a prefix removal function to the Router Advertisement handling code.
| * radv: Add prefixes with dynamically updated lifetimesPatrik Flykt2018-01-041-6/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a boolean that indicates whether the prefixes will always exist or if they will time out after the assigned valid lifetime. In the latter case calculate the expiry times for both preferred and valid lifetimes for the prefixes, and decrease the remaining lifetimes each time when a Router Advertisement is sent. Should the prefix be updated, re-calculate the prefix lifetime. When updating, update the existing entry, if any, with the lifetimes of the added entry as the existing entry has its lifetimes set according to its previously calculated expiry times.
* | sd-radv: avoid redefinition of struct in6_addrHans-Christian Noren Egtvedt2018-01-101-1/+0
|/ | | | | | | | | | Both netinet/icmp6.h and linux/in6.h will define struct in6_addr, and in user space we want to use the netinet/icmp6.h variant. Fixes build problem: In file included from src/libsystemd-network/sd-radv.c:23:0: /home/hegtvedt/work/os/product/sunrise/root/_build/v2/include/linux/in6.h:30:8: error: redefinition of 'struct in6_addr'
* Add SPDX license identifiers to source files under the LGPLZbigniew Jędrzejewski-Szmek2017-11-191-0/+1
| | | | | This follows what the kernel is doing, c.f. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5fd54ace4721fc5ce2bb5aef6318fcf17f421460.
* sd-radv: Allocate space also for DNSSL iov option (#7144)Patrik Flykt2017-10-201-2/+3
| | | | The iov array needs to hold five entries in addition to the number of prefixes.
* sd-radv: Free DNS domain search list on unref (#6858)Patrik Flykt2017-09-181-0/+1
|
* sd-radv: Add Router Advertisement DNS Search List optionPatrik Flykt2017-09-151-0/+60
| | | | | | | | | | | Add Router Advertisement DNS Search List option as specified in RFC 8106. The search list option uses and identical option header as the RDNSS option and therefore the option header structure can be reused. If systemd is compiled with IDNA support, internationalization of the provided search domain is applied, after which the search list is written in wire format into the DNSSL option.
* sd-radv: Add Router Advertisement DNS informationPatrik Flykt2017-09-071-2/+46
| | | | | Add Router Advertisement Recursive DNS Server information as specified in RFC 8106.
* sd-radv: Receive Router SolicitationsPatrik Flykt2017-05-151-2/+72
| | | | | | | | Receive Router Solicitations and send a unicast Router Advertisment in response. Refactor ICMPv6 packet handling code so that the common ICMPv6 validation parts are reused between the existing router discovery and the new functionality adding reception of Router Solicitation messages.
* sd-radv: Send Router AdvertismentsPatrik Flykt2017-05-151-1/+74
| | | | | | | Create and remove the ICMPv6 Router Advertisement socket file descriptor and implement Router Advertisment sending. As not all options are mandatory, use IO vectors to point to the included options and the prefix information.
* sd-radv: Implement Router Advertisement timeout handlingPatrik Flykt2017-05-151-0/+113
| | | | | | | | | | | Router Advertisements are sent uniformly distributed between a minimum and maximum time according to RFC 4861, Section 6.2.4. Default values from RFC 4861 are for now used as minimum and maximum Router Advertisement timeouts. When stopping, a Router Advertisement with a router lifetime set to zero is sent in order to inform any nodes that the interface on this host no longer is a router.
* sd-radv: Add Router Advertisement functionalityPatrik Flykt2017-05-151-0/+261
| | | | | Add Router Advertisement header files, data structures and core functionality that is quite similar to other parts of networkd.
* sd-radv: Add Router Advertisement prefix handlingPatrik Flykt2017-05-151-0/+136
Define Router Advertisement prefix structure. Add the Prefix Information ICMPv6 option defined in RFC 4861 to the prefix information structure, as it will simplify sending a Prefix Information option later on. In order to handle endianness correctly, the structure is redefined here instead of using the one in netinet/icmp6.h. Add functions to create and modify prefix information and set default values as defined in RFC 4861, Section 6.2.1.