[Kea-users] Should Kea DHCP4 server handle links going down and coming back up?
A (hopefully more concise) restatement of my earlier question,
asking about the behaviour of kea-dhcp4 in the face of links
that might go down, then return to life.
As I described last time, I'm working with a base unit running
kea-dhcp4 with a number of satellite units that, upon powering
up, will download firmware, then reset, which will take the newly
enabled link down after only a short time. This means that kea
will see up to 16 satellites that activate their respective
link, then take it down, then bring it back up, and we need Kea
to continue working in the face of links possibly bouncing up
and down for a while before everything stabilizes.
In addition, there are routines tied directly to the PHYs of the
base unit, so we have the ability to detect links going up and
down, and react accordingly -- possibly calling Kea to reload or
stop/start. Now here's the issue.
The previous solution was to, as soon a link was detected coming
up (at any time), this would trigger a "kea restart", whose
consequences should be obvious -- as the satellites came up,
then reset, then came back up again, the poor Kea server would
be inundated with a flood of restart messages, forcing it to
stop and start possibly dozens of times while units were
asking for an IP address.
(Side note: I realize there is no "kea restart" command --
technically, what happened was that, upon any link going down,
"kea stop", and on any link coming up, "kea start". You can
imagine the subsequent chaos.)
The obvious question is -- why would Kea need to restart simply
because a link went down and up again? Is this not something
you should expect to see in normal environments? I asked the
obvious question -- why would a "reload" not be sufficient,
if it was in fact needed at all?
So we come to the actual question -- should Kea not be able to
operate properly in the face of unreliable links? Should it not
be able to cope with a link going down, then reactivating some
time later with a unit once again asking for an IP address?
As I mentioned, we do have hooks into the actual PHYs to detect
link up/down, but is that really necessary? What should Kea do
in a scenario like this?