Parent policer priority and unfair sensitive discard thresholds

Priority-level bandwidth control is managed on the parent policer through the use of progressively higher discard thresholds for each in-use priority level. Up to eight priority levels are supported and are individually enabled per parent policer instance based on child policer priority level association. When multiple child policers are associated with a parent policer priority level, two separate discard thresholds are maintained for that priority level. A lower ‟discard-unfair” threshold ensures that when a child policer has exceeded its FIR rate, its unfair packets are discarded first (assuming the parent policer’s bucket depth has reached the priority level’s ‟discard-unfair” threshold) protecting the priority level’s fair traffic from the priority level’s unfair traffic.

A second ‟discard-all” threshold is used to discard all remaining packets associated with the priority level in the case where higher priority traffic exists and the sum of both the priority level’s traffic and the higher priority traffic exceeds the parent policer rate. This protects the higher priority traffic on the parent policer from being discarded because of lower priority traffic. The child and parent policers operate in an atomic fashion, any conformance effect on a child policer's bucket depth is canceled when the parent policer discards a packet. Policer bucket rate and packet flow interaction with bucket depth are shown in Figure: Policer bucket rate and packet flow interaction with bucket depth. Parent policer bucket and priority thresholds are shown in Figure: Parent policer bucket and priority thresholds.

Figure: Policer bucket rate and packet flow interaction with bucket depth
Figure: Parent policer bucket and priority thresholds