Technical Forum
Ask questions. Discover Answers.
Showing results for 
Search instead for 
Did you mean: 

[SOLVED] Wrong pool after iRule -> Pool


Hi guys,


i´m not sesing what is failing in my scenario so, please, somebody help me!


Basically, this is it:


-> VirtualServer (listening on port a) --> Triggers iRule to select pool --> Pools (both listening on port b)


What´s happening is that the pool selection is done correctly but the new packet forwarded by LTM is sent to the IP of the pool (ok) but the destination port of the VS (instead of the one in the pool member).


iRule is superbasic so i´m not pasting any code.


Any idea of what could be happening? It´s so simple that it has to be something super obvious but i cannot see it.





Well if you aren't pasting the code, it is going to be very difficult to troubleshoot. I understand that the raw irule might be confidential, but you can always replace domains, folders, etc with generic names.


If you are going for the most simple solution/error: verify if you specified the service port of the server in the pool. A port 0/any will not check if the server is listening to a port, and will not know it needs to do port mapping.

Check your VS if the port translation is enabled. By default it should be enabled, unless you made some changes to it.


And are you sure your Irule is actually selecting your pool instead of the default pool thats there on the VS.

Put a simple logging to confirm it.


Hi all,


thanks for your answer.


At this point iRule is super simple:



if { [HTTP::method] eq "GET"} {

      set var [getfield [HTTP::uri] "/" 7]

      if { $var > 3000} {

       pool a

    } else {

       pool b






Pool is correctly selected but dst port is not translated.


I´ll take a look at what you said tomorrow, it has to be something obvious.


I´ll let you know my findings 😉

Whats the progress mate.

It´s been solved.


It seems that my customer pasted the iRule wrongly 😛