Forum Discussion
disable irule process for the request not for the whole tcp connection
- Jul 26, 2015
Understood this topic is discussing some race conditions applied on iRule http events;
client 1 --> http request1 --> F5 --> http request1 --> server client 1 --> http request2 --> F5 --> http request2 --> server client 1 --> http request3 --> F5 --> http request3 --> server client 1 <-- http request1 <-- F5 <-- http response1 <-- server client 1 <-- http request2 <-- F5 <-- http response2 <-- server client 1 <-- http request3 <-- F5 <-- http response3 <-- server
From LTM perspective, LTM will not process the subsequent request (but rather put it on the request queue instead)until first response is back from backend pool memeber.
Even pipelining is enabled on client side and multiple requests come in at same time, LTM will still serialize them and process them according to the sequence (FIFO).
So in our case, variable has been set in request 1 will not be messed up even request 2 comes in earlier than response 1.
Yes. iRules variables are TCP connection scoped - meaning they exist for the life of a discreet TCP connection. If you create a variable in one event you can manipulate it in another if their both in the same TCP connection. I'd also point out here that when you add multiple iRules to a VIP, and those iRules contain the same events (ex. HTTP_REQUEST), these events are compiled into one event. That's why the order of the iRules (an option in the GUI in 11.x and a "priority" option in the event declaration otherwise) is so important.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com