Hugh,
Yes, I think you have it exactly.. That's one of the solutions I had
thought of - essentially a new probing_mode where the probing flag is never
cleared on any entry that has the probing flag. The only concern that I
had was that I hadn't dug into the code far enough to figure out what will
prevent a low ping_interval from sending a second probe packet to a gateway
before a response to the first has been received/timed out..
It could also be done with a new set of flags, assuming that not all of the
flags bits are cleared.. one flag that indicates never_probe and one flag
that indicates always_probe, perhaps. This way you could control which
gateways NOT to probe if you used DS_PROBE_ALL, or you could control which
gateways to probe if you used any of the other modes.. though since the
flags are really treated as mutable state once loaded, care would have to
be taken to make sure that the new flags aren't emptied anywhere else in
the code..
--
*Joseph Dickson*
E: jdickson(a)evolvetsi.com
On Thu, Aug 20, 2015 at 4:38 AM, Waite, Hugh <hugh.waite(a)acision.com> wrote:
Hello,
This is something I have been thinking about recently as well.
The current implementation can read flags from the DB (or file etc) but
the probing flag is only a status and is cleared/set depending on the
probing_mode, so the value stored in the DB is basically ignored after the
first probe.
I was going to suggest a new mode, e.g. “probe_if_set” which allows each
destination to indicate whether it wishes to probe.
Then you can have a set of entries which are all active but do not probe,
another set which probe all the time and another set that only probe when
they are inactive. Entries could still be administratively disabled to take
them out of service.
Does this sound like what you need Joseph?
Regards,
Hugh