Hi Cédric, On Mon, Nov 04, 2019 at 11:00:06AM +0100, Cédric Dufour wrote: > [Sorry for multiple posting. I'm having trouble with sending this > patch via GMail *SMTP*; trying the WUI...]
no worries. > Thanks Willy for your feedback. > > I'm not sure whether I should further split stktable_fetch_expr() into > some new sample_...() in sample.c or if there is some other *.c file where > a generic function, including the required act_rule, would make sense. At the moment I must confess I have no authoritative opinion, for not having studied that area in a while. However I suspect that your new function stktable_fetch_expr() is in fact not related to stick tables at all and should entirely be in sample.c with a sample_ name. I think you got confused by the fact that this action works both on a sample and an expression, but the part you're dealing with is entirely a sample expression. > Also, I'm not HAProxy-savvy enough to know whether this proposal is > multi-thread safe (is it ?). Yes it is. All our datapath is thread-safe for now because execution of all processing happens on the same thread from end to end. However if you would access central resources like server states, stick-table contents, queues or such stuff, then you'd have to take additional precautions. I think I'll soon start to write some doc on this after the conference. Otherwise your patch looks good and reasonably non-intrusive so that we can get it into 2.1 in time. I would appreciate it if you could split it so that the new generic function is in its own patch and that a second patch only implements support for it from sc-set-gpt0(). This would simplify future backports if needed at any point in time, typically if your generic function becomes required for something else in the future. Thanks! Willy

