Hi,

I spent last few hours scratching my head and wondering where my
configuration was wrong and why was it acting weird. Sending this to
ML to see if this is a bug or expected behavior. I expected ACL to
evaluate its condition only once and store the true/false outcome,
however with rand(), I believe that ACL keeps re-evaluating on every
use. Example,

acl random rand(50) lt 25
http-response set-header H1 V1 if random
http-response set-header H2 V2 if random
http-response set-header H3 V3 if random

I would except either all 3 headers H1, H2, H3 to be set or none to be
set. However, in my test config I observed that H1, H2, H3 are set
independent of each other essentially meaning that ACL is getting
re-evaluated every time it is getting used.

Is this the expected behavior of ACLs? If yes, how would using a named
ACL be different than using an anonymous ACL?

Regards,
Vivek

Reply via email to