On Thu, Aug 10, 2023 at 01:59:34PM +0200, Johannes Naab wrote: > On 8/9/23 17:53, Aurelien DARRAGON wrote: > >> "http-request sc-set-gpt" does work, so does "tcp-request session". I.e. > >> the bug seems to depend on "tcp-request connection". > >> > > > > Indeed, according to both doc and code, sc-set-gpt and sc-set-gpt0 are > > available from: > > > > - tcp-request session > > - tcp-request content > > - tcp-response content > > - http-request > > - http-response > > - http-after-response > > > > But, according to the doc, they are also available from: > > - tcp-request connection > > > > But the switch-cases in parse_set_gpt(), action_set_gpt(), and > > action_set_gpt0() from stick_table.c don't allow this case, so it looks > > like it was forgotten indeed when the expr support was added for > > sc-set-gpt0 in 0d7712dff0 ("MINOR: stick-table: allow sc-set-gpt0 to set > > value from an expression"). > > > > We have the same issue for the sc-add-gpc action which was greatly > > inspired from set-gpt, where the switch cases defined in parse_add_gpc() > > and action_add_gpc() from stick_table.c don't allow tcp-request > > connection as origin. > > > > Please find the attached patches that should help solve the above issues. > > Thanks. With those patches "tcp-request connection" does work as well, > even with setting session variables.
Thanks to you two, I've applied your 3 patches now (Aurélien's code fixes and Johannes' doc fixes). Willy