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