Bug ID 1016909: BIG-IP iRule commands FLOW::this or FLOW::peer can create zombie flows.

Last Modified: Apr 24, 2024

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

Known Affected Versions:
14.1.0,,,,,, 14.1.2,,,,,,,,, 14.1.3,, 14.1.4,,,,,,, 14.1.5,,,,,, 15.0.0, 15.0.1,,,,, 15.1.0,,,,,, 15.1.1, 15.1.2,, 15.1.3,, 15.1.4,, 15.1.5,, 15.1.6,, 15.1.7, 15.1.8,,, 15.1.9,, 15.1.10,,,, 16.0.0,, 16.0.1,,, 16.1.0, 16.1.1, 16.1.2,,, 16.1.3,,,,,, 16.1.4,,,, 17.0.0,,

Opened: May 07, 2021

Severity: 3-Major


Keeping a variable reference to FLOW::this or FLOW::peer in iRules can result in zombie connection flows that are never removed. TMM memory use for 'connflow' and 'tclrule_pcb' are high, and do not match the number of current connections reported by the system.


Increased memory use in TMM, which can eventually result in a TMM crash or traffic disruption while connections are removed using the connection sweeper.


-- iRule that uses FLOW::this or FLOW::peer, and stores the result of one of those commands into a variable.


Do not retain the result of 'FLOW::this' or 'FLOW::peer' in a variable in an iRule. Instead, either: 1. Use the variable directly, i.e.: log local0.warning: "The flow is [FLOW::this]" 2. Unset the variable when done, i.e.: set flow [FLOW::this] log local0.warning: "The flow is $flow" unset flow If a system is already affected by this issue, the only way to free that memory is to restart TMM.

Fix Information


Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips