Forum Discussion
Joe_Sabek_47241
Oct 31, 2007Historic F5 Account
tcp::collect problems
Given this irule:
when CLIENT_ACCEPTED {
tcp::collect
}
when CLIENT_DATA {
. ....process tcp payload.....
tcp::release
tcp::collect
}
when SERVER_CONNECTED {
tcp::collect
}
when SERVER_DATA {
..........process data...........
tcp::release
tcp::connect
}
We are facing a problem where a customer client/server test suite is not able to send data when the iRule is applied, but it can when its not. Yet with another client/server test suite ( one I wrote for testing this iRule) it works without any problem. It also works if you telnet to the port and send data through it.
It seems that when the iRule is applied, the customer suite opens the connection, but never sends any data. Looking at the stats, CLIENT_DATA is never being called and a server connection is not being opened. (All the servers are up) Further looking at dumps show that when the iRule is not applied, if a client connects to the VIP a back end server connection is opened to the server, yet if the iRule is applied no connection is opened.
What could prevent CLIENT_DATA from being called? If both my custom client/server works and telnet works, then what could be different in the other client's socket? Is it possible they are waiting for a connection open/ready to be sent from the server? And if so is there a way to make sure a connection is opened to the server before calling tcp::collect on the client side?
- Colin_Walker_12Historic F5 AccountIf your custom monitor and more importantly telnet are working, this sounds like an issue with the test suite that's failing.
- Patrick_Chang_7Historic F5 AccountI would try specifying a lengtrh in the TCP::collect statement. BTW, isn't the TCP in TCP::collect case sensitive?
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