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. Johannes