logical_254756
Oct 18, 2016Nimbostratus
source IP and source Port persistence using irule - Citrix - (carp vs uie)
Hi,
We ran into an issue of uneven load-balancing due to using citrix. Clients end up using the same IP so we decided we need to start load-balancing using the source port as well. I have done my homework and search around until I came across multiple solutions of either to use uie or carp.
I have multiple questions hopefully I will get answers for.
- I understand carp doesn't have a timeout so that leads to a question is it better to use in this situation?
- Also we are leaning towards load-balancing using the least connections. Would each algorithm limits to a specific load-balancing method?
- Per my irule below I don't add persist assuming it is done automatically. am I wrong with that assumption? Should I be adding each successful persistence records?
- what would be the best way to test such an implementation?
Here is the irule I'm about to implement.
when CLIENT_ACCEPTED {
set client_ip_port "[IP::client_addr]:[TCP::client_port]"
if {[TCP::client_port] and [IP::client_addr] !=0} {
persist carp $client_ip_port
}
}