Nicholas J. Kain
34a8cd7ad9
arp: Handle initial announcement asynchronously and retry failures.
...
We need to send two ARP announcements, so these are now done via a
timeout callback so that failures can be handled properly.
2017-02-24 06:57:10 -05:00
Nicholas J. Kain
4d87d5075a
Handle carrier interruptions in arp_collision_timeout() better.
...
Still not ideal; we need to note and retry these errors, but these
changes are preparatory and do not introduce regressions.
2017-02-24 05:36:05 -05:00
Nicholas J. Kain
b8ee0bd5c2
Update copyright dates to 2017.
2017-01-13 20:15:27 -05:00
Nicholas J. Kain
b3bd13d45f
Fix the return values of dhcp_packet_get and arp_packet_get.
...
This corrects a bug where stale dhcp packets would get reprocessed,
causing very bad behavior; an issue that was introduced in the
coroutine conversion.
2015-02-18 11:02:13 -05:00
Nicholas J. Kain
99ce918a31
Use a coroutine instead of several callback state machines.
...
This change makes it much easier to reason about ndhc's behavior
and properly handle errors.
It is a very large changeset, but there is no way to make this
sort of change incrementally. Lease acquisition is tested to
work.
It is highly likely that some bugs were both introduced and
squashed here. Some obvious code cleanups will quickly follow.
2015-02-18 05:31:13 -05:00
Nicholas J. Kain
61387408d0
Separate event state gathering from action dispatch in main epoll loop.
...
This is the first step towards using coroutines.
2015-02-15 06:38:03 -05:00
Nicholas J. Kain
702d8b0c5b
Mark pointer arguments that cannot ever be null as [static 1].
...
Also constify some cases, too.
2015-02-13 23:14:08 -05:00
Nicholas J. Kain
cc806acc0b
Indicate that client_state_t and client_config_t pointer args
...
cannot ever be null.
Could possibly improve code generation, and makes the intention clear.
2015-02-13 22:29:03 -05:00
Nicholas J. Kain
c58a071f52
Update copyright dates.
2015-02-13 01:54:57 -05:00
Nicholas J. Kain
a501789e04
Parse config options with ragel and support a configuration file.
2014-04-14 15:06:31 -04:00
Nicholas J. Kain
e2ee728982
Consolidate all of the global static variables in arp.c into a single
...
struct, and use booleans where appropriate.
2014-04-06 22:12:31 -04:00
Nicholas J. Kain
b761889025
Move source from ndhc/ to src/ since ifchd is no longer a separate program.
2014-04-06 16:57:06 -04:00