Forum Discussion

Sajan_Mania_381's avatar
Sajan_Mania_381
Icon for Altostratus rankAltostratus
May 09, 2019

Need help on understanding Persistence Irule

Hi Guys ,

Can someone please explain me in details how this Persistence Irule works .

ltm rule U_Persistence {

when HTTP_REQUEST { 

set defaultPool [LB::server pool]

if { [regexp -nocase {UUID=([a-zA-Z0-9+-]+)} [HTTP::uri] matched uuid] == 1 } {

log local0. "1 pool: $defaultPool"

log local0. "uuid: $uuid"

pool $defaultPool

persist uie $uuid 900

} else {

pool $defaultPool

persist source_addr 255.255.255.255 900

log local0. "2 pool_else: $defaultPool"

} } }

  • Hi Sajan,

    The irule search for the value after the uuid parameter in the URL, if the irule finds that (for example uuid=1234), then it wll use the uuid (1234) to persist the connection. The subsequent request using the same uuid will get redirected to the same server. if the irule doesn't find the uuid in the URL, then it just persist the connection based on the source IP address of the client. On both scenarios, the timeout is 900 seconds. Hope it helps.

     

    Best Regards,

    Oscar Pucheta

    https://www.australtech.net

    https://www.linkedin.com/in/npucheta/