fir3net
PPS-Firenetbanner-780.5x190-30-03-17

Brocade ADX - HTTP packets dropped when using pipeling and CSW

Symptoms

When enabling CSW and running HTTP pipelining you may experience a breakdown in your HTTP session.

Issue

When enabling CSW on a Virtual Server pipelining is enabled on the designated port by default.
The issue occurs when a second GET request comes in before the first GET/POST answer is fully received from the server (this could include a single ACK still pending), then the ADX drops the second request silently. The client will keep retransmitting the second request and then finally give up after some time. 

This issue is typically seen when using extremely long URI references.

Solution

To resolve this issue there are 2 options.

  1. Upgrade to 12.4.00d,
  2. Use the "reset-pipeline-request" command.

The "reset-pipeline-request" command (i.e “port http keep-alive reset-pipeline-request”) works around this issue by allowing the answer to the first request to complete (even if a second request comes in) and then resetting the connection. This in turn forces the client start a new connection for the second request.

Note : Should you enable 'port <port> keep-alive reset-pipeline-request' and then remove it using the command 'no port <port> no-keep-alive' (on the Virtual Server). You will need to ensure you re-enable keep-alive on the VIP using the command 'port <port> keep-alive'.

About the Author

RDonato

R Donato

Rick Donato is the Founder and Chief Editor of Fir3net.com. He currently works as a Principal Network Security Engineer and has a keen interest in automation and the cloud.

You can find Rick on Twitter @f3lix001