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

Last Modified: Oct 06, 2020

Bug Tracker

Affected Product:  See more info
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

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