Follow QoS SRND even if don't have so many classes?

Unanswered Question
Mar 5th, 2009
User Badges:

Hi,


I have only 4 classes of traffic


- Voice

- Signalling

- Mission critical data

- Best Effort (BE)


The bulk of the traffic in the network is Best Effort (DSCP=0).


Using 1P3Q8T queue structure in SRND


Int gi1/1

wrr-queue queue-limit 5 25 40

wrr-queue bandwidth 5 25 70

wrr-queue cos map 1 1 1

wrr-queue cos map 2 1 0

wrr-queue cos map 3 1 4

wrr-queue cos map 3 2 2

wrr-queue cos map 3 3 3

wrr-queue cos map 3 4 6

wrr-queue cos map 3 5 7

priority-queue cos-map 4 5


With the above, if the bulk Best Effort (BE) traffic is COS=0, the second queue will be used, which has a queue limit=25, wrr bandwidth=25%.

If I do not have any traffic like COS=2,4, can the BE traffic go beyond the bandwidth of 25%?


based on the Cat6500 configuration guide, it states:

"WRR allows queue to use more than the allocated bandwidth if the

other queues are not using any, up to the total bandwidth of the port."


If this is true, then I should be able to follow SRND's setting even if i do not have so many classes of traffic. With the SRND settings, it also allows me the flexibility of increasing the number of classes in future without having to reconfigure the switches.


Any comments/thoughts are welcome.


Thanks

Eng Wee

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Joseph W. Doherty Fri, 03/06/2009 - 04:58
User Badges:
  • Super Bronze, 10000 points or more

The config guide also notes (within: http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/qos.html#wp1750716):


Note•You should develop a QoS deployment strategy for assigning packet priorities to your particular network traffic types and applications. For more information on QoS guidelines, see RFC 2597 and RFC 2598 as well as the various QoS design guides published by Cisco Systems, Inc.


•Do not enable PFC QoS globally and leave all other PFC QoS configuration at default values. When you enable PFC QoS globally, it uses its default values. These are two problems that exist with the PFC QoS default configuration:


-With PFC QoS globally enabled, the default trust state of the Ethernet ports in the system is untrusted. The untrusted port state sets the QoS priority of all traffic flowing through the switch to the port CoS value (zero by default): all traffic will be zero-priority traffic.


-With PFC QoS globally enabled, the port buffers are allocated into CoS-based queues and only part of the buffer is available for zero-priority traffic: zero-priority traffic has less buffer available than when PFC QoS is disabled.


These problems with the PFC QoS default configuration can have a negative effect on network performance.


So use with care.

e-chuah Fri, 03/06/2009 - 18:39
User Badges:

Hi Joseph,


Thanks for the reply. I also read this in the documentation and have concerns on the second point.


In my scenario, the bulk of the traffic is COS=0, if i configure according to SRND, it looks like the buffer allocation is fixed at 25% (wrr-queue queue-limit 5 25 40 )

even if there is no other traffic in the other queue? If that is true, then I should allocate more buffer

for COS=0.


Or i can interpret it this way, even if the buffer allocated is 25% for Q2, wrr will dequeue it first since there is no traffic in other queues. Essentially, there will not be any issue since Q2 will never get filled up even though it is allocated 25% of the port buffer.



Also what is the relationship between buffer limit and bandwidth? If i change it to wrr-queue queue-limit 0 45 25, should I change the value for the wrr bandwidth?


Thanks a lot!



Joseph W. Doherty Fri, 03/06/2009 - 20:54
User Badges:
  • Super Bronze, 10000 points or more

"In my scenario, the bulk of the traffic is COS=0, if i configure according to SRND, it looks like the buffer allocation is fixed at 25% (wrr-queue queue-limit 5 25 40 )

even if there is no other traffic in the other queue? If that is true, then I should allocate more buffer

for COS=0.


Or i can interpret it this way, even if the buffer allocated is 25% for Q2, wrr will dequeue it first since there is no traffic in other queues. Essentially, there will not be any issue since Q2 will never get filled up even though it is allocated 25% of the port buffer."


Yes, I agree on the first point, i.e. if none of the other queues are used, you could, perhaps should, increase Q2's buffer allocation, but for the second point, although Q2 might be the only queue in use, it doesn't mean it won't fill even though there isn't other traffic queued in the other queues.


"Also what is the relationship between buffer limit and bandwidth? If i change it to wrr-queue queue-limit 0 45 25, should I change the value for the wrr bandwidth? "


Cisco guides appear to suggest the buffer allocations should mirror the queue scheduling weights (with about 1/3 set aside for the strict-priority queue). But I believe selecting buffer allocations depends on the nature of the traffic and how you want to manage traffic bursts. Bandwidth management (WRR scheduling weights) is allocated to support the bandwidth needs of the application.


For example, both VoIP and video conference work best with about the same queuing priority, but video often is much, much more bursty than VoIP which would require a larger buffer to absorb the bursts.

Edison Ortiz Fri, 03/06/2009 - 05:32
User Badges:
  • Super Bronze, 10000 points or more
  • Hall of Fame,

    Founding Member

With the above, if the bulk Best Effort (BE) traffic is COS=0, the second queue will be used, which has a queue limit=25, wrr bandwidth=25%.


The value on that command does not reflect %, but weight.


The correct value will be based on this calculation.


Queue1 = 1/(weight1+weight2+weight3)

Queue2 = 2/(weight1+weight2+weight3)

Queue3 = 3/(weight1+weight2+weight3)




HTH,


__


Edison.

Joseph W. Doherty Fri, 03/06/2009 - 06:37
User Badges:
  • Super Bronze, 10000 points or more

Think you meant (to clarify):


Queue1 = weight1/(weight1+weight2+weight3)

Queue2 = weight2/(weight1+weight2+weight3)

Queue3 = weight3/(weight1+weight2+weight3)


PS:

Percentages can be use with (if supported):

wrr-queue bandwidth percent #


[edit]

wrr-queue bandwidth 5 25 70

q2=25/(5+25+70) = 25%


Since weights total 100, bandwidth percent would look the same,


e.g.

wrr-queue bandwidth percent 5 25 70


Also other weights provide the same result,


e.g.

wrr-queue bandwidth 10 50 140


Edison Ortiz Fri, 03/06/2009 - 07:05
User Badges:
  • Super Bronze, 10000 points or more
  • Hall of Fame,

    Founding Member

Yes, that's what I meant. Forgot to include the 'w'.


Queue1 = w1/(weight1+weight2+weight3)

Queue2 = w2/(weight1+weight2+weight3)

Queue3 = w3/(weight1+weight2+weight3)


Thanks for catching that.


__


Edison.

Actions

This Discussion