t-roy
Nov 28, 2012Nimbostratus
uneven load with Universal persist profile
I created a universal persistence profile called X-FORWARDED-FOR and am using a very simple irule to persist on the x-forwarded-for header:
ltm persistence universal X-FORWARDED-FOR {
defaults-from universal
match-across-pools disabled
match-across-services disabled
match-across-virtuals disabled
mirror disabled
override-connection-limit disabled
rule X-FORWARDED-FOR
timeout 180
ltm rule X-FORWARDED-FOR {
when HTTP_REQUEST {
persist uie [HTTP::header "x-forwarded-for"]
}
}
The problem I am seeing is I don't see pesist records to each of the backend pool members. Here is the pool we are sending to:
ltm pool mypool-40290 {
members {
10.10.10.10:40290 {
session monitor-enabled
}
10.10.10.10:40310 {
session monitor-enabled
}
10.10.10.10:40320 {
session monitor-enabled
}
10.10.10.10:40330 {
session monitor-enabled
}
}
monitor GENERIC-TCP
partition Common
service-down-action reset
slow-ramp-time 30
}
When I curl from the other F5 in our HA pair to the VIP, inserting an X-FORWARDED-FOR header with various different IPs I am creating persistence records for each request, but ~80 seem to go to 10.10.10.10:40290. Is there a persist mask or something I need within my iRule? I am trying to vary the X-FORWARDED-FOR header with IPs in multiple subnets.