cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
823
Views
17
Helpful
15
Replies

Priority/available bandwidth

jigsaw2026
Level 1
Level 1

I'm having trouble with my queuing config and was hoping that someone could take a look please? I have created the following:

class-map match-any critical

match protocol rtp

class-map match-any priority

match access-group 180

class-map match-all rdp

policy-map queue

class critical

priority percent 35

class priority

bandwidth percent 40

class class-default

fair-queue

random-detect dscp-based

And then:

int s0/0/0:0

service-policy input queue

Then when I do a show int, the available bandwidth goes to 1kpbs (formerly 1536kbps)

Output queue: 0/1000/64/916 (size/max total/threshold/drops)

Conversations 0/2/256 (active/max active/max total)

Reserved Conversations 2/2 (allocated/max allocated)

Available Bandwidth 1 kilobits/sec

This is a 2mbps serial interface on a 2800 running Version 12.3(8r)T7.

So, why would the available bandwidth become 1kpbs? Is available bandwidth referring to the bandwidth that's left for the class-default? Or the bandwidth availble to the critical & priority class?

I should also mention that it wouldn't allow me to increase the priority bandwidth to above 35%. Also, bandwidth is configured as 2048 on the interface.

Any help gratefully recieved!

Thanks,

J

1 Accepted Solution

Accepted Solutions

Hi ,

Yes its possible , do one thing match your rtp application and set a precedence value in the ingress interface by applying a " service policy input GRE tunnel , so that the respective Precedence is copied and once it reaches your wan router , you can match the precedence and set a priority bandwidth

http://www.cisco.com/en/US/tech/tk543/tk545/technologies_tech_note09186a008017405e.shtml

Hope it helps

regards

vanesh k

View solution in original post

15 Replies 15

dgahm
Level 8
Level 8

You cannot allocate more than 75% of the bandwidth. The rest is reserved for router overhead.

Your service policy should be outbound, and has to be applied to the physical interface.

Please rate helpful posts.

Apologies, I did in fact have it on the outbound queue, that was a typo.

So would it be more suitable to allocate 20% each to class critical and class priority?

Thanks.

For your priority class is it very important that you know your peak rate. Since the priority command unlike the the bandwidth command will not allow traffic to exceed the configured rate.

Since you calculated the number it tends to be easier to use a fixed amount rather than percentages for priority but it will work either way. Just be sure you never exceed it since for traffic that needs priority queuing loss causes major problems.

Thanks tdrais - would you recommend not using the priority command then and using the bandwith command instead?

Is other traffic allowed to burst into the percentage configured for priority or is it strictly for priority only?

Thank you

Hi,

The reason for showing the available bandwidth as 1k is that , router by default assigns 25% of the interface BW for the default queue and it displays the remaining bandwidth after usage of other classes.

In order to overide , you can use " max-reserved-bandwidth" in the interface , but make sure that proper care for the default queue is taken.

http://www.cisco.com/en/US/tech/tk39/tk48/technologies_tech_note09186a00800fe2c1.shtml#understand

priority command is used so that if you have traffic in other queues and traffic belonging to the priority queue comes , it would always be serviced first with the bw limits specified .And if there is no traffic in the priority queue , then other queues are serviced .If there is no traffic in the priority queue , then other queues can use it .

regards

vanesh k

To add to the above post.

You should really only use priority queue when the application requires low latency queuing. VoIP is the primary use of this feature. Bandwidth statement is much more flexible for application that do not have the requirement to have their traffic always sent first.

Thanks a lot for your replies guys.

In that case I think I should be using the priority queue as I need VoIP traffic to be serviced first (I've classified on protocol rtp).

I have now ammended the percentages to total 75% (to allow 25% for router overhead) as follows:

policy-map queue

class critical

priority percent 20

class priority

bandwidth percent 30

class class-default

fair-queue

random-detect dscp-based

Which results in the following output from sh policy-map:

Policy Map queue

Class critical

Strict Priority

Bandwidth 20 (%)

Class priority

Bandwidth 30 (%) Max Threshold 64 (packets)

Class class-default

Flow based Fair Queueing

Bandwidth 0 (kbps)

Now when I attach it to my interface I get this:

Queueing strategy: Class-based queueing

Output queue: 0/1000/64/934 (size/max total/threshold/drops)

Conversations 0/1/256 (active/max active/max total)

Reserved Conversations 1/1 (allocated/max allocated)

Available Bandwidth 513 kilobits/sec

So, I think that:

class critical has 20% of the bandwidth

Class priority has 30% of the bandwidth

class class-default has whatever's left..25%?

And then there's 513KB left over...presumably for the router overhead? Please could you tell me if I am correct in my assumptions?

Also, I'm not convinced that it's set up completely right as it says reserved converstations 1/1 - I would have thought that would be 2/2 no?

Thanks again,

J

Hi

25% of the bandwidth is not used for router overhead , its used by the default queue -the queue where all other traffic goes which is not mapped in various classes .

So as per your config , you have allocated 20% for voice , which is a low latency queue and would always be prioritised and other 30% for some important data traffic .

The other 50% is given to default queue .If your first two classes gets the enough bandwidth , then its fine .

regards

vanesh k

Hi vanesh,

Many thanks the advice.

Apologies, I was taking what someone else has said about router overhead to be correct.

Unforutnately, I think this output indicates that it's not actually working:

show policy-map interface s0/0/0:0

Serial0/0/0:0

Service-policy output: queue

Class-map: critical (match-any)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: protocol rtp

0 packets, 0 bytes

5 minute rate 0 bps

Queueing

Strict Priority

Output Queue: Conversation 264

Bandwidth 20 (%)

Bandwidth 409 (kbps) Burst 10225 (Bytes)

(pkts matched/bytes matched) 0/0

(total drops/bytes drops) 0/0

Class-map: priority (match-any)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 180

0 packets, 0 bytes

5 minute rate 0 bps

Queueing

Output Queue: Conversation 265

Bandwidth 30 (%)

Bandwidth 614 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 0/0

(depth/total drops/no-buffer drops) 0/0/0

Class-map: class-default (match-any)

72727 packets, 38704060 bytes

5 minute offered rate 769000 bps, drop rate 0 bps

Match: any

Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 256

(total queued/total drops/no-buffer drops) 3/100/0

exponential weight: 9

dscp Transmitted Random drop Tail drop Minimum Maximum Mark

pkts/bytes pkts/bytes pkts/bytes thresh thresh prob

af11 0/0 0/0 0/0 32 40 1/10

af12 0/0 0/0 0/0 28 40 1/10

af13 0/0 0/0 0/0 24 40 1/10

af21 0/0 0/0 0/0 32 40 1/10

af22 0/0 0/0 0/0 28 40 1/10

af23 0/0 0/0 0/0 24 40 1/10

af31 0/0 0/0 0/0 32 40 1/10

af32 0/0 0/0 0/0 28 40 1/10

af33 0/0 0/0 0/0 24 40 1/10

af41 0/0 0/0 0/0 32 40 1/10

af42 0/0 0/0 0/0 28 40 1/10

af43 0/0 0/0 0/0 24 40 1/10

cs1 26/3166 0/0 0/0 22 40 1/10

cs2 0/0 0/0 0/0 24 40 1/10

cs3 0/0 0/0 0/0 26 40 1/10

cs4 0/0 0/0 0/0 28 40 1/10

cs5 0/0 0/0 0/0 30 40 1/10

cs6 41/3928 0/0 0/0 32 40 1/10

cs7 0/0 0/0 0/0 34 40 1/10

ef 0/0 0/0 0/0 36 40 1/10

rsvp 0/0 0/0 0/0 36 40 1/10

default 72888/38781710 100/73423 0/0 20 40 1/10

Do you think that I maybe have my access-list wrong? Definitely traffic should have been seen in the priority class.

Thanks again,

J

Hi,

Pls let me know whether you are testing with the machines or device that is configured under the class map and also let me know the router model you use and if possible , the QOS config including the access-list

regards

vanesh k

Hi Vanesh,

Here is my config:

class-map match-any critical

match protocol rtp

class-map match-any priority

match access-group 180

!

!

policy-map queue

class critical

priority percent 20

class priority

bandwidth percent 30

class class-default

fair-queue

random-detect dscp-based

access-list 180 permit tcp any any eq 3389

access-list 180 permit tcp any any eq telnet

interface Serial0/0/0:0

bandwidth 2048

ip address x.x.x.x 255.255.255.252

no ip redirects

no ip unreachables

no ip proxy-arp

service-policy output queue

end

I am testing by using rdp to a device. I can rdp but it's not showing in priority, so I assume it's going through as default.

Thank you for your help,

J

Hi

I think you are not using RTP application.Just to do the testing use a telnet and see wheter you are getting hits in the second class and just for testing use the same access-list for priority class and see wheter you are getting any hits.

After seeing with the above observation , we can check other options

regards

vanesh k

Hi vanesh,

I have found the problem! It's basically because this router is a hop within a GRE tunnel, I guess this means that it has an additional header and can't inspect IP packets in the same way. Sorry that I didn't explain the set up before.

I am trying to queue there because that is where we are experiencing lots of packet drops (bottleneck 100mbps > 2mpbs) - is this possile at all with a tunnel, or will it need to be removed? I noticed that a few packets are coming in marked as cs6 - does that mean that if I mark the desired traffic earlier on with dscp I can still queue there?

Many thanks for all of your help, much appreciated.

J

Hi ,

Yes its possible , do one thing match your rtp application and set a precedence value in the ingress interface by applying a " service policy input GRE tunnel , so that the respective Precedence is copied and once it reaches your wan router , you can match the precedence and set a priority bandwidth

http://www.cisco.com/en/US/tech/tk543/tk545/technologies_tech_note09186a008017405e.shtml

Hope it helps

regards

vanesh k

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card