Forum Discussion
RedApple_76292
Nimbostratus
Apr 30, 2008TCP::collect at client side seem to block server conversation
I try to implement simple iRule to check the TCP payload both client side and server side. The conversation is full duplex so we can not expect the sequence of communication. The following iRule seem to block the server side connection.
when CLIENT_ACCEPTED {
TCP::collect
}
when CLIENT_DATA {
log "check TCP payload"
}
when SERVER_CONNECTED {
TCP::collect
}
when SERVER_DATA {
log "Check TCP payload"
}
For example, client open connection to server port 8081 (S:1034,D:8081) but after TCP handshake, not data send from client. In the same time, server start feed traffic to client use previous connection (S:8081, D:1034) but data never reach the client. It seem like iRule hang at CLIENT_ACCEPTED event (TCP::collect).
Is it normal?
- Nicolas_Menant
Employee
- RedApple_76292
Nimbostratus
TCP::release after TCP::collect does not help. It seem like BIG-IP wait for data from client until TCP timeout before process. - spark_86682Historic F5 AccountThere is a way to accomplish this, but there are some caveats to the solution. Before I discuss it here, I would like to know if you have a case open with F5 support on this issue?
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