]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: connection: add new src and dst fields
authorWilly Tarreau <w@1wt.eu>
Wed, 17 Jul 2019 12:33:15 +0000 (14:33 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 19 Jul 2019 11:50:09 +0000 (13:50 +0200)
commit1ef4cbc693293d78dbce57217bce6bf96b22739f
treea5d2aa505b7c7f18965c7cece5104a36cd194afc
parentcc4df3b3de9045a7634b548c30f92625c34ded0a
MINOR: connection: add new src and dst fields

At the moment we're facing difficulties with connection reuse based on
the fact that connections may be allocated very early only to set a
target address in transparent mode. With the imminent removal of the
legacy mode, the connection reuse by a same stream will not exist
anymore and all this awful complexity is not justified anymore. However
we still need to be able to assign addresses somewhere.

Thus instead of allocating a connection, we'll only place addresses where
needed in the stream during operations. But this takes quite some room
(typically 128 bytes). This is a nice opportunity for cleaning all this
up and dynamically allocatating the addresses fields, which will result
in actually saving memory from connection structs since most of the time
the client's "to" address is not used and the server's "from" is not used
either, thus saving ~256 bytes per end-to-end connection.

For now these new "src" and "dst" pointers point to addr.from and addr.to.
This will allow us to smoothly update the whole code to use these pointers
prior to going further and switching them to pools.
include/proto/connection.h
include/types/connection.h