casaman:
However when I try to compile it I get an error
"[undefined procedure class][class dest_pairs]"
The class must be defined separately from the iRule. To do so, click on the Data Group Lists tab on the iRules config screen, and create a new class of type String. Enter each address pair separated by space, first the origin address, then the SNAT address.
Then create the iRule that references the class.
In other news, I noticed you removed the destination address condition from my example. If you truly don't need to filter by destination, there is no functional difference whatsoever between this iRule and 1 to 1 SNATs that are enabled on only the server facing VLAN.
I still say unless you need the iRule to do something else, you should use the more efficient and fully supported SNAT configuration instead of the iRule. If you are seeing LTM SNAT traffic that doesn't match the conditions of the SNAT definition, and this iRule does not exhibit the same behaviour, please open a Support case so we can look into that & get it fixed.
HTH
/d