Forum Discussion
Load Balancing based off TCP Payload entity
Okay, so once a load balancing decision has been made, and unless you attempt to alter it, packets will persist automatically to the same node within a single TCP session. It's what happens between TCP sessions that matters. You could add some additional logging to your iRule to show that:
when CLIENTSSL_HANDSHAKE {
log local0. "[IP::client_addr]:[TCP::client_port]: SSL handshake completed, collecting SSL payload"
SSL::collect
}
when CLIENTSSL_DATA {
set payload [SSL::payload]
set entityID [findstr $payload "@" 1 ","]
log local0. "entityID: $entityID"
pool xxx_yyyy_Pool
log local0. "using persistence for entityId ($entityID)?: [persist lookup uie $entityID]"
if { $entityID ne "" } {
persist uie $entityID 64000
}
SSL::release
SSL::collect
}
Not 100% certain about the last SSL::collect, so you may need to comment that out if it doesn't work. Watch the log and the wireshark capture closely within a single application session. The first request shouldn't have any persistence information in the lookup, but then subsequent requests, assuming the entityID is available, should.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com