01-05-2011 03:45 PM - edited 03-06-2019 02:50 PM
Can someone who knows QoS on the cisco switch platforms tell me if the behavior below is normal as i dont think so!
Qos is diasble on the 3750 switch interface gi1/0/4 as the output below indicate right.
3750switch# sh mls qos interface gigabitEthernet 1/0/4
GigabitEthernet1/0/4
QoS is disabled. When QoS is enabled, following settings will be applied
Attached policy-map for Ingress: SWITCH-TO-SWITCH
trust state: not trusted
trust mode: not trusted
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none
qos mode: port-based
But I see queue drops expecially queue 3 incrementing and mls statistics incrementing and see lots of traffic ending up in the wrong queues for traffic with DSCP & COS 0. any ideas. IOS Code is 12.2(52) SE
3750switch#sh mls qos interface gigabitEthernet 1/0/4 statistics
GigabitEthernet1/0/4 (All statistics are in packets)
dscp: incoming
-------------------------------
0 - 4 : 2377538570 0 0 2633 29
5 - 9 : 0 0 0 47126603 0
10 - 14 : 0 1072 0 0 0
15 - 19 : 0 797633 0 0 0
20 - 24 : 0 0 0 0 2320084599
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 123495129 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 0 0 23679137 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 4 0 0 0
60 - 64 : 0 0 0 0
dscp: outgoing
-------------------------------
0 - 4 : 449 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 27639892 0 0 0
20 - 24 : 0 0 0 0 1910000519
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 11 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 0 0 49196985 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
cos: incoming
-------------------------------
0 - 4 : 599328135 0 0 0 0
5 - 7 : 0 0 0
cos: outgoing
-------------------------------
0 - 4 : 34838015 0 27639892 1910000519 11
5 - 7 : 0 49196985 3506096
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 1549890425 0 0
queue 1: 4315065 22 10100487
queue 2: 0 0 29091096
queue 3: 0 0 431785930
output queues dropped:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 1344273698 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 6269047
Policer: Inprofile: 0 OutofProfile: 0
01-05-2011 08:07 PM
Hi,
Do you see drops incrementing for only one queue ?
could you please paste the output of following commands taken multiple times in an interval of 5 secs
sh mls qos int gi1/0/4 stats
sh plat port-asic stat drop g1/0/4
sh plat port-as stat en gi1/0/4
sh int gi1/0/4 | i output drop
sh mls qos map dscp-output
What excalty you mean by "lots of traffic ending up in the wrong queues for traffic with DSCP & COS 0"
Regards,
Souvik
01-06-2011 02:19 AM
01-06-2011 07:07 PM
Hi Fransisco,
Here are the answers for your question.
Why there are drops incrementing for queue 3 ?
i will answer this question in two parts. First why queue 3 -> when Qos is disabled we do not send the packets to different queues but use on single FIFO queue to send out the packets. Here queue 3 is the only queue ( FIFO ) which is in use. This we can see from the enqueue statistics. If you look at the sh plat port-as stat enqueu (output you can see the the counters are majorly incrementing for queue 3, you will see a slight increase in number for queue 2 but that is expected as this is one which is used for the traffic going to the CPU ( not data traffic but majorly control plane traffic like bpuds). this behavior is by default.
2nd why the drop counters are incrementing - when qos is dsabled and you see output drops ( your increment in output drops should be equal to the increment in queue drops) purely because of over subscription . you are sending lot of traffic then the port can handle. Enabling/disabling Qos will not help in improving the situation. here we need to increase the capacity.
Why there are increment in sh mls qos int <> stats output ?
the output is only showing the markings of the packets which are coming/going out trough the interface. It is not sending the packets to different queues.
Finally, i still don`t know what exactly you meant by packets going to wrong queue .
Regards,
Souvik
01-07-2011 11:21 AM
Excellent stuff.
Please while on the same subject can you please tell me if possible to look at the "Reserved Buffer" and "Common Buffer" memory pool used for egress tx-queues. I used the command "sh buffers" - ouput below. My understanding is RxQFB buffers/RxQ0 buffers are used by CPU and not for egress tx-queues. so how to view the buffers used for tx-queues? (Hope i'm making sense
loncdc12sds170#sh buffers
loncdc12sds170#sh
loncdc12sds170#sh buffers
RxQFB buffers, 2040 bytes (total 904, permanent 904):
892 in free list (0 min, 904 max allowed)
45851484 hits, 0 misses
RxQ0 buffers, 2040 bytes (total 1200, permanent 1200):
700 in free list (0 min, 1200 max allowed)
444622167 hits, 0 misses
2, Also how is the buffer allocated between port asic on the 3750E switch? I read that one port ASIC which uses 2Mb egress buffer memory manages groups of 4 switch ports on the chassis! is that so?
so the output below shows port 1 - 10 uses ASIC 1. Are all ports uses same 2M egress buffer?
3750switch#sh platform pm if-numbers
interface gid gpn lpn port slot unit slun port-type lpn-idb gpn-idb
----------------------------------------------------------------------
Gi1/0/1 1 1 1 1/1 1 1 1 local Yes Yes
Gi1/0/2 2 2 2 1/0 1 2 2 local Yes Yes
Gi1/0/3 3 3 3 1/3 1 3 3 local Yes Yes
Gi1/0/4 4 4 4 1/2 1 4 4 local Yes Yes
Gi1/0/5 5 5 5 1/5 1 5 5 local Yes Yes
Gi1/0/6 6 6 6 1/4 1 6 6 local Yes Yes
Gi1/0/7 7 7 7 1/7 1 7 7 local Yes Yes
Gi1/0/8 8 8 8 1/6 1 8 8 local Yes Yes
Gi1/0/9 9 9 9 1/9 1 9 9 local Yes Yes
Gi1/0/10 10 10 10 1/8 1 10 10 local Yes Yes
Thanks
Francisco.
01-09-2011 07:01 PM
1) sh mls qos queue-set 1/2 is the command you would like to check for the qos buffers
2) Well...The amount of egress buffering varies from different 3750 platform to platform . In the C3750 switch family each switch divides the egress buffers into two pools, the reserved pool, and the common pool. The switch uses the common pool when the reserved pool for the egress interface has already been consumed. The number of buffers placed into the common pool is equal to the total number of buffers less the total reserved buffers. IOS computes the number of reserved buffers for each asic in the switch. Of the reserved buffers, the egress ports consume the majority. The CPU and other system entities also reserve buffers. With the default configuration, the common buffer pool has more than half the buffers. The ratio of reserved:common buffers varies from platform to platform. Because the number of egress buffers differs across platforms the IOS CLI does not deal in hard numbers, but rather percentages. The IOS CLI allows for the modification of how those reserved buffers are allocated amongst the transmit queues. Also the number of ports which are mapped to each sasquatch asic varies between the platforms and the 2MB buffer space is not strictly shared by 4 physical ports on all the platforms. Exact figure is really beyond the scope of this discussion.
Regards,
Souvik
01-05-2011 08:12 PM
Can you post the config for the port in question as well?
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide