Forum Discussion
Eric_Werner_283
Nimbostratus
Jan 15, 2010Respond to server depending on TCP::client_port
I'm trying to find a way to get the LTM to respond to a server watchdog packet only is the original client is still active. The scenario I am working with is one where the client establishes it's session, which is handled by an iRule, and sent on to the server. Every so often, the server will send out a watchdog packet to make sure the client is still there. The iRule is crafted to catch these packets and respond. Is it a simple matter to nest the watchdog response into an "if" check to see if the TCP::client_port is still there? Something like:
if {([TCP::client_port] != "")
}
Does this idea hold water, or am I better off looking somewhere else?
Eric Werner
- Eric_Werner_283
Nimbostratus
Oh, and I forgot to mention, this is all within the SERVER_DATA area that I'm thinking this needs to happen, so my concern is that TCP::client_port wouldn't be a valid check. - hoolio
Cirrostratus
If the client just disappears without closing the client side connection, then the connection table entry would still exist and TCP::client_port would still return the client's source port. - Eric_Werner_283
Nimbostratus
True, but here's the f-ed up part of that. Which watchdog gets passed through? Because of how this is being built from a Diameter perspective, we need to separate the client and server sides to a degree. - hoolio
Cirrostratus
Wow... that's a novel concept for serially broadcasting a request to all pool members. So for a single client connection, you send the request to each pool member. Periodically, servers will send a watchdog packet to the client and you need to know how to handle that based on whether the client has "silently disappeared" or not. It sounds like in order to test the client status, you'd need to either generate your own packet to the client or pass the server's request through. I'd guess the latter would be simpler.
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects