Checks with PROXY protocol, LOCAL?

Hi,

I have read the PROXY protocol specification and I expected a check from HAproxy to a backend server to have the command set to LOCAL.

In my setup of HAproxy (tested 1.6 and 1.8, mode TCP) this does not seem to be the case. I wanted to use it to determine the difference between a health check and a proxy connection.

I’m receiving PROXY protocol frames with the command set to PROXY and the the src and dst address/port set to the expected values of the proxy server and the backend server respectively.

Back-tracking the source code I saw there is a case in make_proxy_line_v2 where the remote flag is not set, the frame would be constructed as a LOCAL command.

Is sending a PROXY command correct behavior when doing a health check? Should I test and compare this with a HTTP proxy setup (because maybe this is only flawed in TCP mode)?

With kind regards,
Joffrey