This patch set adds two new server parameters, "agent-port" and "agent-interval". These may be used to control running an agent check as well as a (non-agent) health check.
Some details of how this may be configured may be found in the changelog of the last patch of the series. >From an implementation point-of-view the approach taken has been to allow a server to have two checks. One for the health checks that have been configurable up to now. And another for an agent check. As such most of the series involves refactoring struct server and and code paths in checks.c to separate a server from its check. It is only the last patch that actually adds the second check. Simon Horman (13): DOC: Clarify documentation of option lb-agent-chk CLEANUP: Make parameters of srv_downtime and srv_getinter const MEDIUM: Split up struct server's check element MEDIUM: Move {,fast,down}inter to struct check MEDIUM: Move result element to struct check MEDIUM: Paramatise functions over the check of a server MEDIUM: cfgparse: Factor out check initialisation MEDIUM: Add state to struct check MEDIUM: Add name element to struct check MEDIUM: Move health element to struct check MEDIUM: Add type type to struct check MEDIUM: Add helper for task creation for checks MEDIUM: checks: Add supplementary agent checks doc/configuration.txt | 67 ++++-- include/proto/checks.h | 4 +- include/proto/server.h | 4 +- include/types/server.h | 46 ++-- src/cfgparse.c | 154 +++++++++---- src/checks.c | 592 ++++++++++++++++++++++++------------------------ src/dumpstats.c | 22 +- src/haproxy.c | 6 + src/proto_http.c | 6 +- src/server.c | 16 +- 10 files changed, 534 insertions(+), 383 deletions(-) -- 1.7.10.4