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