haproxy/include/types
Nick Chalk 57b1bf7785 [MEDIUM] checks: support multi-packet health check responses
We are seeing both real servers repeatedly going on- and off-line with
a period of tens of seconds. Packet tracing, stracing, and adding
debug code to HAProxy itself has revealed that the real servers are
always responding correctly, but HAProxy is sometimes receiving only
part of the response.

It appears that the real servers are sending the test page as three
separate packets. HAProxy receives the contents of one, two, or three
packets, apparently randomly. Naturally, the health check only
succeeds when all three packets' data are seen by HAProxy. If HAProxy
and the real servers are modified to use a plain HTML page for the
health check, the response is in the form of a single packet and the
checks do not fail.

(...)
I've added buffer and length variables to struct server, and allocated
space with the rest of the server initialisation.

(...)
It seems to be working fine in my tests, and handles check responses
that are bigger than the buffer.
2010-03-16 22:57:26 +01:00
..
acl.h [MINOR] acl: add http_auth and http_auth_group 2010-01-31 19:14:09 +01:00
auth.h [BUILD] auth: don't use unnamed unions 2010-02-02 11:28:20 +01:00
backend.h [MEDIUM] backend: implement consistent hashing variation 2009-10-09 07:17:58 +02:00
buffers.h [MEDIUM] Add stick and store rules analysers. 2010-01-12 16:01:24 +01:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
checks.h [MEDIUM] Decrease server health based on http responses / events, version 3 2009-12-16 00:29:27 +01:00
counters.h [STATS] count transfer aborts caused by client and by server 2010-03-04 20:34:23 +01:00
fd.h [MEDIUM] fd: merge fd_list into fdtab 2009-10-18 08:20:26 +02:00
freq_ctr.h [MEDIUM] measure and report session rate on frontend, backends and servers 2009-03-05 18:43:00 +01:00
global.h [MEDIUM] http: revert to use a swap buffer for realignment 2010-02-26 11:12:27 +01:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
httperr.h [MAJOR] udpated the stats page to clearly distinguish FEs and BEs 2007-01-01 21:38:07 +01:00
lb_chash.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwlc.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.h [CLEANUP] proxy: move last lb-specific bits to their respective files 2009-10-03 18:41:18 +02:00
log.h [BUILD] fix build on AIX due to recent log changes 2007-12-05 11:11:55 +01:00
pattern.h [MINOR] pattern: add support for argument parsers for converters 2010-01-26 18:01:35 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
proto_http.h [MAJOR] use the new auth framework for http stats 2010-01-31 19:14:09 +01:00
proto_tcp.h [MAJOR] implement tcp request content inspection 2008-07-16 10:29:07 +02:00
protocols.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
proxy.h [STATS] report HTTP requests (total and rate) in frontends 2010-02-26 10:05:55 +01:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
server.h [MEDIUM] checks: support multi-packet health check responses 2010-03-16 22:57:26 +01:00
session.h [MINOR] stats socket: add show sess <id> to dump details about a session 2010-03-05 17:58:04 +01:00
signal.h [MINOR] add basic signal handling functions 2009-05-10 09:24:23 +02:00
stick_table.h [MEDIUM] Add stick table (persistence) management functions and types 2010-01-12 11:23:15 +01:00
stream_interface.h [BUILD] warning in stream_interface.h 2010-01-05 23:46:08 +01:00
task.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00