Profile-preferred mode root policers

Configuring the profile-preferred option gives preference for inplus-profile packets or in-profile packets to consume the root policer PIR bucket tokens at a given priority level. This preference applies to packets whose profile is either configured explicitly or set by the output of the child policer CIR bucket.

When this option is selected, all child policers parented to a root policer have their FIR bucket track the state of the CIR bucket. In other words, an inplus-profile or in-profile packet is always blue and an out-of-profile packet is always orange. When admitting packets from the child policers within a specific priority level, orange packets are allowed up to the discard-unfair threshold while blue packets are allowed up to the discard-all threshold. If a child policer is configured to forward traffic exceeding its PIR, the exceed-profile traffic does not contribute to the parent policer bucket depth with respect to any of its thresholds.

The profile-preferred option forces the FIR bucket to track the CIR bucket’s decrement rate and the threshold chosen for the CIR bucket is also be used in the FIR bucket (instead of using the threshold associated with the PIR bucket).

The inplus/in/out/exceed-profile output from the policer is used for packet marking decisions. The blue/orange child policer input to the parent policer chooses the discard-orange or discard-all thresholds for the child policer’s priority level within the parent policer.

Explicit inplus-profile and in-profile packets stay blue up to the high CBS threshold, undefined profile packets stay blue up to the low CBS threshold (1x CBS) and explicit out-of-profile packets are always orange because of a 0 CBS threshold. Orange packets are discarded by the parent policer within the child policer’s priority level before the blue packets, preferring blue packets over orange when the discard-orange threshold is crossed.

Use the following CLI syntax to configure the profile-preferred option. This option also applies to overrides applied to instances of a policer control policy under a SAP or subscriber or multiservice site context.

config qos
      policer-control-policy policy-name [create]
      no policer-control-policy policy-name
            description ‟description-string”
            no description
            root
                  max-rate {kilobits-per-second | max}
                  no max-rate
                  [no] profile-preferred
                  priority-mbs-thresholds
                        min-thresh-separation size [bytes | kilobytes]
                        no min-thresh-separation
                        priority level
                              mbs-contribution size [bytes | kilobytes] [fixed]
                              no mbs-contribution

The profile-preferred option provides us a way to configure a specific FIR (because it uses the CIR as FIR). In the direct-parented case (no intermediate arbiters present at all) the child policers do not need to have their offered rate polled as each policer always has PIR equal to the min (child PIR, root PIR) and the FIR and CIR are fixed and equal. The child parenting weights are therefore not used. This impacts the show commands, for example, offered rate information is not available. The output of some show commands (show qos policer-hierarchy ... detail) should be adjusted for profile-preferred configurations.

If an intermediate arbiter is present, then polling is offered at different rates because the child policer PIRs are set based on this information so as to share the intermediate arbiter PIR in proportional to their parenting weight to the intermediate arbiter.