Bug ID 1067449: PEM Bandwidth Controller policies applied to a user session get stuck with the lowest precedence rule

Last Modified: Jun 24, 2024

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

Known Affected Versions:
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, 15.1.10.3, 15.1.10.4, 16.1.4.2, 16.1.4.3, 17.0.0.2, 17.1.1.1, 17.1.1.2, 17.1.1.3

Opened: Dec 10, 2021

Severity: 3-Major

Symptoms

The issue is present with a PEM policy consisting of different Bandwidth Controllers applied to different services, like this one : pem policy services_BWC { rules { rule1 { classification-filters { filter0 { application Application1 } } precedence 1 qos-rate-pir-downlink BWC-Application1 qos-rate-pir-uplink BWC-Application1 } rule2 { classification-filters { filter0 { application Application2 } } precedence 2 qos-rate-pir-downlink BWC-Application2 qos-rate-pir-uplink BWC-Application2 } rule3 { classification-filters { filter0 { application Application3 } } precedence 3 qos-rate-pir-downlink BWC-Application3 qos-rate-pir-uplink BWC-Application3 } } } With this policy, the BWC controller applied to a user session would get stuck on the lowest precedence rule, and the application of the correct BWC would depend on the order with which the user visited the Application1, Application2 and Application3 services. For example, the user visits Application1 first and the BWC-Application1 is correctly applied. Then the user visits Application2 (on a different transaction/flow): the corresponding rule has a higher precedence, and no BWC at all will be applied because the session is stuck with BWC-Application1. Likewise, when then the user visits Application3 no BWC at all will be applied because the corresponding rule has an even higher precedence than the Application1 rule. When the precedence of the rules is the same, the policy gets stuck with the first BWC applied to the user session. This behaviour makes it impossible to create any meaningful policy with different BWC handlers applied to different classification-filters.

Impact

- Impossible to create a working policy with different BWC handlers applied to different classification-filters.

Conditions

- PEM policy consisting of different Bandwidth Controllers, each one applied to a different service.

Workaround

None.

Fix Information

None

Behavior Change

A new DB variable "tmm.pem.session.actions.apply.equalprecedence" has been introduced. When set to 'true' it allows a subscriber policy with multiple rules and with: - the same precedence - different dynamic BWC handlers - different classification filters to apply the correct dynamic BWC each time a subscriber visits the relevant websites/applications, no matter in what order. IMPORTANT: for the different BWC controllers to be applied seamlessly to the relevant applications, all the policy rules must have the same precedence.

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips