Forum Discussion

Mark_Curole's avatar
Mark_Curole
Icon for Nimbostratus rankNimbostratus
Jul 01, 2011

Strange F5 Reset

I have a VIP for a simple two member load balancing pool. The origin server are doing SOAP over HTTP. I am having clients occasionally get resets from BigIp in the middle of a transation (see trace below).

 

 

The reset occurs when the client does not wait for a 100-continue response before sending the main SOAP request. I am unsure if this is a client issue or a configuration issue on the BigIp.

 

 

Sample trace

 

 

12665 0.0000000 192.168.252.108 172.31.230.91 HTTP HTTP:Request, POST /VdrSearchAndRetrieve/TCISAR, Query:wsdl

 

12666 0.0000810 172.31.230.91 192.168.252.108 TCP TCP:Flags=...A...., SrcPort=HTTP Alternate(8080), DstPort=56253, PayloadLen=0, Seq=2776800385, Ack=573228503, Win=65535

 

12667 0.3530350 192.168.252.108 172.31.230.91 SOAP SOAP:xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

 

12668 0.0000240 172.31.230.91 192.168.252.108 TCP TCP:Flags=...A...., SrcPort=HTTP Alternate(8080), DstPort=56253, PayloadLen=0, Seq=2776800385, Ack=573229692, Win=65535

 

12824 5.6066480 172.31.230.91 192.168.252.108 TCP TCP:Flags=...A.R.., SrcPort=HTTP Alternate(8080), DstPort=56253, PayloadLen=0, Seq=2776800385, Ack=573229692, Win=65535

 

 

 

VIP Configuration

 

 

virtual server {

 

snatpool snatpool1

 

pool server_pool

 

destination 172.31.230.91:webcache

 

ip protocol tcp

 

profiles

 

http

 

oneconnect

 

tcp-lan-optimized

 

persist src-addr-persist-300

 

}

 

 

3 Replies

  • is there any error in /var/log/ltm when getting reset?

     

     

    have u tried to remove http and oneconnect profile from the virtual?
  • There is no error in the log when the connection gets reset. I have not removed either profile as of yet. I just captured the trace yesterday and was confused by the behavior of the client.

     

     

    Most of the time the client waits for the BigIp to respond with 100-continue and then sends the SOAP request. Those transactions go through normally. So what I was unsure of was if the client was acting abnormally or if BigIp was not handling this properly.

     

     

    I have not disabled either the HTTP profile or the ONECONNECT profile. I was considering disabling the ONECONNECT profile, I just had not ever had an issue with ONECONNECT and http traffic in general, but I did see a technote where Pipelining and ONECONNECT are not compatible. I was unsure if the best option was to disable ONECONNECT or to disable Pipelining.

     

     

  • If the client is sending an HTTP request with an Expect: 100 header, I think the client must wait until it gets a 100-continue response. If the client isn't waiting, it would probably break the HTTP proxy model in LTM and get reset. As Nitass suggested, if you don't need any HTTP parsing, you could try disabling the HTTP profile either by removing it from the VS or by calling HTTP::disable from an iRule. But really the solution should be to fix the client as it's not correct behavior.

     

     

    Aaron