That is a lot of possible evalutions if there aren't any matches or the match for a particular connection is late in the list. You might try combining a few of the checks together to reduce the number of IP checks you're doing.
For example, you could replace this:
if {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.11] } {
snatpool snat_crt_test2
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.11] } {
snatpool snat_uni_test2
}
with this:
if {[IP::addr [IP::client_addr] equals 172.16.1.11] }{
if {[IP::addr [LB::server addr] equals 222.35.42.126] }{
snatpool snat_crt_test2
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155]} {
snatpool snat_uni_test2
}
}
Aaron