Commit Graph

17 Commits

Author SHA1 Message Date
Roy Marples
a471f5bcd3 Fix compile without -DINET6 2014-09-14 06:53:13 +00:00
Roy Marples
a0011b9933 Only send DHCPv6 and RA to control sockets when DAD has been completed. 2014-09-04 19:55:37 +00:00
Roy Marples
26c177737e Source now compiles on Solaris, just missing the if-sun.c support so
linking fails.
2014-05-21 23:07:52 +00:00
Roy Marples
047235d751 If a DHCPv6 lease expires as well as all IPv6 routers who want DHCPv6, don't restart discover. 2014-05-19 00:49:14 +00:00
Roy Marples
72c37f5f56 Support RTM_GETNEIGH on Linux as well as the polling for NUD changes on BSD.
Fixes [bb6153d18b].
2014-05-08 23:35:30 +00:00
Roy Marples
a3ee6b2392 Poll kernel neighbour reachability (SIOCGNBRINFO_IN6) for each router
instead of sending and listening for Neighbour Soliciation/Advertisement
packets. The kernel is privy to a lot more reachability information than
userland is.
Fixes [bb6153d18b].
2014-05-07 13:31:32 +00:00
Roy Marples
6e6e06af14 Respect RFC4861 MAX_RTR_SOLICITATION_DELAY as specified in section 6.3.7. 2014-05-03 19:53:22 +00:00
Roy Marples
ae4f8bd77e Once reachability + randomisation has passed, wait DELAY_FIRST_PROBE_TIME
seconds and then send MAX_UNICAST_SOLICIT probes at retranstimer intervals.
If no confirmation and another retranstimer interval has passed, expire the
address.

More RFC4861 conformant.
2014-05-02 12:31:21 +00:00
Roy Marples
8d5de85324 Optimise the initial probe timer.
Don't send more than MAX_UNICAST_SOLICIT reachability probes.
2014-05-02 11:03:46 +00:00
Roy Marples
53017d65d9 The unreachable timer should start AFTER the initial discovery packet is
sent, and that is first send after the retransmission timer has fired.
2014-05-02 10:16:00 +00:00
Roy Marples
34457fe661 Add -Wconversion to debug CFLAGS and fix fallout. 2014-03-27 22:14:52 +00:00
Roy Marples
7529fdf1af Tentative does not mean RTM_DELADDR.
This fixes RTM address handling on FreeBSD and OpenBSD.

Instead of listening for duplicate address messages for
FreeBSD and OpenBSD simply poll for the address flag changing.
This means less code to maintain and hopefully less error-prone.

Remove dead code which send a DAD as this is, and should,
be done entirely in the kernel.
2014-03-06 19:11:55 +00:00
Roy Marples
298c01136e Fix compile without INET or INET6. 2014-02-13 08:15:05 +00:00
Roy Marples
4eb7b4896f Move all global variables into contexts, with a small exception for
signal handling.
This allows dhcpcd to work better in a threaded environment such as rtems.
2014-02-12 00:39:46 +00:00
Roy Marples
a4f05801cd Fix build without INET6 2013-09-05 08:39:38 +00:00
Roy Marples
6204b80e3f RFC 5942 Section 5 states DHCPv6 address should not create prefixes
based on the assigned address.
2013-09-03 11:30:10 +00:00
Roy Marples
e82129a42c Reduce code size by merging IPv6 ND with RS. 2013-08-20 10:29:43 +00:00