#include <haproxy/stream.h>
#include <haproxy/task.h>
#include <haproxy/tcp_rules.h>
+#include <haproxy/tcpcheck.h>
#include <haproxy/thread.h>
#include <haproxy/time.h>
#include <haproxy/tools.h>
/* update the mux */
newsrv->mux_proto = mux_ent;
}
+
+ /* Allocate default tcp-check rules for proxies without
+ * explicit rules.
+ */
+ if (curproxy->cap & PR_CAP_BE) {
+ if (!(curproxy->options2 & PR_O2_CHK_ANY)) {
+ struct tcpcheck_ruleset *rs = NULL;
+ struct tcpcheck_rules *rules = &curproxy->tcpcheck_rules;
+
+ curproxy->options2 |= PR_O2_TCPCHK_CHK;
+
+ rs = find_tcpcheck_ruleset("*tcp-check");
+ if (!rs) {
+ rs = create_tcpcheck_ruleset("*tcp-check");
+ if (rs == NULL) {
+ ha_alert("config: %s '%s': out of memory.\n",
+ proxy_type_str(curproxy), curproxy->id);
+ cfgerr++;
+ }
+ }
+
+ free_tcpcheck_vars(&rules->preset_vars);
+ rules->list = &rs->rules;
+ rules->flags = 0;
+ }
+ }
}
/***********************************************************/
}
init:
- if (!(srv->proxy->options2 & PR_O2_CHK_ANY)) {
- struct tcpcheck_ruleset *rs = NULL;
- struct tcpcheck_rules *rules = &srv->proxy->tcpcheck_rules;
- //char *errmsg = NULL;
-
- srv->proxy->options2 &= ~PR_O2_CHK_ANY;
- srv->proxy->options2 |= PR_O2_TCPCHK_CHK;
-
- rs = find_tcpcheck_ruleset("*tcp-check");
- if (!rs) {
- rs = create_tcpcheck_ruleset("*tcp-check");
- if (rs == NULL) {
- ha_alert("config: %s '%s': out of memory.\n",
- proxy_type_str(srv->proxy), srv->proxy->id);
- ret |= ERR_ALERT | ERR_FATAL;
- goto out;
- }
- }
-
- free_tcpcheck_vars(&rules->preset_vars);
- rules->list = &rs->rules;
- rules->flags = 0;
- }
-
err = init_check(&srv->check, srv->proxy->options2 & PR_O2_CHK_ANY);
if (err) {
ha_alert("config: %s '%s': unable to init check for server '%s' (%s).\n",