BUG/MINOR: rules: Increment be_counters if backend is assigned for a silent-drop
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 6 Mar 2020 14:23:18 +0000 (15:23 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 31 Mar 2020 14:52:57 +0000 (16:52 +0200)
Backend counters must be incremented only if a backend was already assigned to
the stream (when the stream exists). Otherwise, it means we are still on the
frontend side.

This patch may be backported as far as 1.6.

(cherry picked from commit ddc005ae5783b6479292156b97db7b6fbdabf6a3)
Signed-off-by: Willy Tarreau <w@1wt.eu>

src/proto_tcp.c

index 9211170..97d3abc 100644 (file)
@@ -1357,6 +1357,8 @@ static enum act_return tcp_exec_action_silent_drop(struct act_rule *rule, struct
                channel_abort(&strm->res);
                strm->req.analysers &= AN_REQ_FLT_END;
                strm->res.analysers &= AN_RES_FLT_END;
+               if (strm->flags & SF_BE_ASSIGNED)
+                       _HA_ATOMIC_ADD(&strm->be->be_counters.denied_req, 1);
                if (!(strm->flags & SF_ERR_MASK))
                        strm->flags |= SF_ERR_PRXCOND;
                if (!(strm->flags & SF_FINST_MASK))