Forum Discussion
Michael_Hull_61
Nimbostratus
Jan 13, 2006Immediate reset when all nodes for a VS are unavailable
Hi everybody,
I have searched hi and lo with no success to find a solution for our app developers regarding the BigIP sending an immediate reset when all nodes are unavailable for a particular VS.
This appears to work on the 4.x platform. With the 9.x platform, the BigIP is completing the TCP handshake and then sending a reset.
I have opened up a case with f5 (C246150) but have not had any response, thinking it may be a configuration issue versus an iRule solution.
Any suggestions would be appreciated!
Thank you!
- Colin_Walker_12Historic F5 AccountThe reason you're seeing a completed TCP handshake is due to the new Full-Proxy architecture of BIG-IP version 9.x. This architecture uses seperate connections to the client and server to transfer information, so the TCP handshake you're seeing on the client side is with the BIG-IP, not with the end server.
when LB_FAILED { TCP::respond $myResponseData TCP::close return }
- rapmaster_c_127Historic F5 AccountWhich profile are you using? For TCP and FastHTTP, there is no way to do this, as these profiles offload the handshake and proxy the traffic; by the time the LB pick is made, the handshake has already completed. If you're using fastL4 it might be do-able, since I believe (without looking at the code) that an lb-failed event with fastL4 triggers a RST to the client.
- Michael_Hull_61
Nimbostratus
You are correct, the full-proxy completes the handshake prior to making any LB decisions. I resorted to using the FastL4 profile which makes the BigIP act like a half-proxy; however, it does not send a reset back to the requestor. It discards the packets and sends nothing back to the client. - rapmaster_c_127Historic F5 AccountLooking at the code, I can see where we drop the SYN silently if we weren't able to connect to a viable server in fastL4. I can see an argument for having this be configurable on the profile so that we send a RST instead (or, with more iRule versatility, allowing RSTs to be sent via an abort command from the LB_FAILED handler in fastL4.)
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