Bug ID 911485: When MRF is in use, TCP::release does not immediately remove data from the TCP payload

Last Modified: Oct 13, 2023

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

Known Affected Versions:
14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6

Opened: May 22, 2020

Severity: 3-Major

Symptoms

Tmm crashes because the TCP::payload is not flushed after the TCP::release command.

Impact

Tmm crash leads to unavailability of service. Traffic disrupted while tmm restarts.

Conditions

If a virtual server is configured for MRF, when TCP::release is used, it does not immediately remove the specified number of bytes from the TCP payload, leading to the possibility that these bytes could be retrieved multiple times by successive calls to TCP::payload.

Workaround

For example, if a GENERICMESSAGE_INGRESS event is included in the iRule, then when it gets executed the bytes are removed from the payload. Another way to do it was to explicitly call 'TCP::payload replace 0 <bytes released> ""'.

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips