Would you be interested in a patch to support FreeBSD accept filters? I've been testing on my system with the dataready filter which is conceptually similar to Linux's deferred accept, and it reduces processing for the connections that are able to complete a TCP handshake but never actually send any data. My system is running a tcp proxy where the main limit on capacity seems to be in ephemeral port selection to the limited number of backends, and we have a rather high number of connections that never exchange data; reducing the number of sessions for haproxy and the backend systems will allow me to significantly reduce the number of haproxy servers.
I could write the patch to use the defer-accept keyword or make a separate keyword to allow for any of the FreeBSD accept filters. Since there doesn't seem to be a lot of interest in this feature, I was leaning towards using defer-accept; but there's a key difference in functionality -- FreeBSD does not provide a timeout like Linux does, and potentially the httpready filter would be useful for others. This topic last discussed on the mailing list in 2010, https://www.mail-archive.com/haproxy@formilux.org/msg01994.html and I didn't see any off-list discussion or patches, but it's pretty straightforward to add. Thanks, Richard