Leaky Bucket QoS Challenge

Hello, 

I am trying to solve a particular QoS-related challenge.  Perhaps you can help.

This basically consists of a video source and reciever with a cisco ISR in between.

The video source transmits packets at intervals of significant variation (jitter).  The receiver must receive packets at a regular interval between packets, not to exceed XX ms, or video quality becomes poor. 

the video source will never transmit enough volume to oversubscribe any links.

Dropping packets is not allowed.

what are the options for configuring a throttling/metering/regulating QoS scheme to accomplish this?

thanks, 

-Lance

Comments

  • Sounds like a job for a LLQ

  • Put the traffic in a priority queue, but inside the priority queue configure a shaper.  This will smooth out the traffic and release it at a standard rate (the CIR), but when the packets actually go to the output queue they will still get priority.

  • Thanks.

    I tried to put shaping in the priority queue, and it says "Shape not allowed with priority":

    R1(config-pmap-c)#access-list 123 permit ip host 10.1.1.1 any
    R1(config)#!
    R1(config)#class-map match-all CLASS
    R1(config-cmap)# match access-group 123
    R1(config-cmap)#!
    R1(config-cmap)#policy-map SHAPER-INSIDE-PRIORITY-QUEUE
    R1(config-pmap)# class CLASS
    R1(config-pmap-c)#  priority
    R1(config-pmap-c)#   shape average 200000
    Shape not allowed with priority
    R1(config-pmap-c)#   shape peak 200000
    Shape not allowed with priority

    I also tried creating a separate shaping policy then putting that policy inside the priority policy, but it didnt work either:

    R1(config-pmap-c)#policy-map SHAPER
    R1(config-pmap)# class CLASS
    R1(config-pmap-c)#  shape average 200000
    R1(config-pmap-c)#
    R1(config-pmap-c)#policy-map SHAPER-INSIDE-PRIORITY-QUEUE
    R1(config-pmap)# class CLASS
    R1(config-pmap-c)#  priority
    R1(config-pmap-c)#ser
    R1(config-pmap-c)#service-policy SHAPER
     Only police and marking features are supported in child policy

    I must not be doing it right.  can you suggest an alternative?

    regards,

    -Lance

    On Tue, May 19, 2015 at 2:22 AM, Brian McGahan <[email protected]> wrote:

    Put the traffic in a priority queue, but inside the priority queue configure a shaper.  This will smooth out the traffic and release it at a standard rate (the CIR), but when the packets actually go to the output queue they will still get priority.



    --
    View this message online at: http://ieoc.com/forums/p/32487/256027.aspx#256027

    Lance Hubbard

  • What platform is it on?

  • 2901 running 15.2(3)T3

    On Tue, May 19, 2015 at 4:21 AM, Brian McGahan <[email protected]> wrote:

    What platform is it on?



    --
    View this message online at: http://ieoc.com/forums/p/32487/256029.aspx#256029


    Lance Hubbard

  • Hi Lance try remove everything and use class-default or another class to give shaping but not the same class you used for prioritization in order to create the shaping policy:

    class-map match-all CLASS_VIDEO

    match access-group 123

    policy-map LLQ

    class CLASS_VIDEO

    priority XYZ

    policy-map SHAPE_PARENT

    class class-default

    shape average 200 k

    service-policy LLQ

     

    let me know if it works

  • Thanks.  Question:  Since the shaper rule does not call the ACL in your example, I dont understand how the traffic specified by the ACL will be shaped.  can you explain that?

    -Lance

    On Tue, May 19, 2015 at 7:23 PM, [email protected] <[email protected]> wrote:

    Hi Lance try remove everything and use class-default or another class to give shaping but not the same class you used for prioritization in order to create the shaping policy:

    class-map match-all CLASS_VIDEO

    match access-group 123

    policy-map LLQ

    class CLASS_VIDEO

    priority XYZ

    policy-map SHAPE_PARENT

    class class-default

    shape average 200 k

    service-policy LLQ

     

    let me know if it works



    --
    View this message online at: http://ieoc.com/forums/p/32487/256042.aspx#256042

    Lance Hubbard

  • Thanks.  Question:  Since the shaper rule does not call the ACL in your example, I dont understand how the traffic specified by the ACL will be shaped.  can you explain that?

    The LLQ policy where prioritization and ACL are involved is nested into the shaping policy so it will follow the treatment applied within the shaper.

  • Ok, thanks.  Clearly, I dont understand how the nesting works without actually putting one policy into the other with the command line.  It looks like two unrelated policy-maps, thus it would never occur to me that they are related in any way.  I assume that the class-default automatically includes the other traffic?  how do I know the shaper doesn't include ALL default traffic?  it just looks ambiguous to me without a clear-cut tie-in on the command line. 

    Thanks again,

    -Lance

    On Sat, May 23, 2015 at 12:59 AM, [email protected] <[email protected]> wrote:

    image Lance:
    Thanks.  Question:  Since the shaper rule does not call the ACL in your example, I dont understand how the traffic specified by the ACL will be shaped.  can you explain that?

    The LLQ policy where prioritization and ACL are involved is nested into the shaping policy so it will follow the treatment applied within the shaper.



    --
    View this message online at: http://ieoc.com/forums/p/32487/256143.aspx#256143


    Lance Hubbard

  • Ok, thanks.  Clearly, I dont understand how the nesting works without actually putting one policy into the other with the command line.  It looks like two unrelated policy-maps, thus it would never occur to me that they are related in any way.

    I don't understand your sentence. The example i provided above uses the nesting policy in order to shape within a particular class-map that you previously defined. Although it seems they're unrelated, in reality they are not. Not for a pure case indeed it is called HQF.

     

    I assume that the class-default automatically includes the other traffic?  how do I know the shaper doesn't include ALL default traffic?  it just looks ambiguous to me without a clear-cut tie-in on the command line. 

    your assumption is correct, normally class-default collects all the remaining traffic that was not previously defined in any other classes. My example was just informative though. In my example class-default defines a parent shaper that allow the child policy (LLQ) to fit in and to inherit the policy applied within the parent policy. If you want shape only the LLQ traffic then reserve a particular shaper just for that queue, or be sure to exclude all other traffic from the class-default, which could be another option, although maybe not highly recommended.

Sign In or Register to comment.