Bug ID 716922: Reduction in PUSH flags when Nagle Enabled

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP LTM(all modules)

Known Affected Versions:
12.1.0, 12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3, 13.1.0.4, 13.1.0.5, 13.1.0.6, 13.1.0.7, 13.1.0.8, 13.1.1, 14.0.0, 14.0.0.1, 14.0.0.2

Fixed In:
14.1.0, 14.0.0.3, 13.1.1.2, 12.1.3.7, 11.6.3.3, 11.5.7

Opened: Apr 25, 2018

Severity: 4-Minor

Symptoms

When Nagle is enabled in the TCP profile, the number of PUSH flags generated by the BIG-IP system drops substantially compared to the Nagle-disabled case, or to the Nagle-enabled case prior to v12.1.2-HF1. This matters most when there is a single outstanding unsent segment in the send buffer awaiting acknowledgment of all other data.

Impact

If the client withholds ACKs, this can save handset power, but it also causes Nagle's algorithm to withhold the last bit of data, increasing latency.

Conditions

-- Nagle is enabled. -- Running BIG-IP software versions later than v12.1.2-HF1. Note: The problem is only impactful when the client withholds ACKs when there is no PUSH flag.

Workaround

Set Nagle to the 'Auto' setting or 'Disabled'. Mote: To take advantage of some of the Nagle benefits, use 'Auto'.

Fix Information

Revised PUSH flag setting logic to set the flag in cases where sending is Nagle-limited.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips