cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Output drops due to QoS on 2960/3560/3750 switches

42257
Views
45
Helpful
11
Comments
Shashank Singh
Cisco Employee

Do you see incrementing output drops on some interfaces after configuring QoS on your 2960/3560/3750 switch?

Common Scenarios

Some of the interfaces start experiencing output drops once QoS is configured on the switch.

Specific applications may experience degraded performance after configuring QoS on the switch. Say IP phones start experiencing choppy calls.

Possible Reason

Once you enable QoS on the switch, some traffic may start getting lesser resources than before (bandwidth or buffer) and hence may get dropped on the switch.



Troubleshooting steps


Step1> Identify the interfaces which carry outgoing data for the affected application or are seeing incrementing output drops. Compare the interface output rate and the interface speed and ensure that the drops are not due to overutilization of the link.


Switch#sh int gi1/0/1

<some output ommitted>

GigabitEthernet0/1 is up, line protocol is up (connected)

  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,

  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX


!interface speed is 1000 mbps


  input flow-control is off, output flow-control is unsupported

  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1089  <<---


!ensure these drops are incrementing


  Queueing strategy: fifo

  Output queue: 0/40 (size/max)

  5 minute input rate 4000 bits/sec, 6 packets/sec

  5 minute output rate 3009880 bits/sec, 963 packets/sec


!output rate is about 3 mbps while the interface speed is 1000 mbps.

Step2> Ensure that QoS is enabled on the switch. If it is not enabled, output drops are not related to QoS and hence further steps mentioned here are irrelevant.


Switch#sh mls qos

QoS is enabled  <<----

QoS ip packet dscp rewrite is enabled


Step3> Identify the marking of the outgoing traffic that is getting dropped on the interface.


Switch#sh mls qos int gi1/0/1 statistics


GigabitEthernet1/0/1 (All statistics are in packets)


  dscp: incoming

-------------------------------


0 -  4 :           0            0            0            0            0

5 -  9 :           0            0            0            0            0

10 - 14 :           0            0            0            0            0

15 - 19 :           0            0            0            0            0

20 - 24 :           0            0            0            0            0

25 - 29 :           0            0            0            0            0

30 - 34 :           0            0            0            0            0

35 - 39 :           0            0            0            0            0

40 - 44 :           0            0            0            0            0

45 - 49 :           0       198910            0            0            0

50 - 54 :           0            0            0            0            0

55 - 59 :           0            0            0            0            0

60 - 64 :           0            0            0            0

  dscp: outgoing

-------------------------------


0 -  4 :           0            0            0            0            0

5 -  9 :           0            0            0            0            0

10 - 14 :           0            0            0            0            0

15 - 19 :           0            0            0            0            0

20 - 24 :           0            0            0            0            0

25 - 29 :           0            0            0            0            0

30 - 34 :           0            0            0            0            0

35 - 39 :           0            0            0            0            0

40 - 44 :           0            0            0            0            0

45 - 49 :           0      248484            0            0            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 :           2            0            0            0            0

  5 -  7 :           0            0            0

  cos: outgoing

-------------------------------


  0 -  4 :           0            0            0            0            0

  5 -  7 :           0            0            0

  output queues enqueued:

queue:    threshold1   threshold2   threshold3

-----------------------------------------------

queue 0:           248484      0           0

queue 1:           0           0           0

queue 2:           0           0           0

queue 3:           0           0           0


  output queues dropped:

queue:    threshold1   threshold2   threshold3

-----------------------------------------------

queue 0:       1089           0           0

queue 1:           0           0           0

queue 2:           0           0           0

queue 3:           0           0           0


Policer: Inprofile:            0 OutofProfile:            0


Note: Though you see queue 0-threshold 1 dropping packets, this actually will be queue 1 in further troubleshooting as queue numbering is 1 to 4 in further outputs.



Step4> Check the marking to output-q map on the switch to determine which queue-threshold pair

maps to the marking getting dropped.


In this scenario, queue1-threshold1 is mapped to dscp 46, which is getting dropped on the interface. This means that dscp 46 traffic is being sent to queue1 and is getting dropped because that queue has insufficient buffer or lesser CPU cycles.


Switch#sh mls qos maps dscp-output-q


   Dscp-outputq-threshold map:

     d1 :d2    0     1     2     3     4     5     6     7     8     9

     ------------------------------------------------------------

      0 :    02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01

      1 :    02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01

      2 :    03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01

      3 :    03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01

      4 :    01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01

      5 :    04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01

      6 :    04-01 04-01 04-01 04-01



Step5> There are two ways to tackle these drops. First method is by changing the buffer and threshold values for the queue dropping packets. second method is to configure the scheduler so that the queue dropping packets is serviced more often than rest of the queues.

First let us see how we can change the buffer and threshold for the affected queues. Let us check the buffer and threshold values associated with the queue identified in step 4.

Note: Each queue set has the option to configure the buffer size and threshold value for the four egress queues. Then, you can apply any one of the queue sets to any of the ports. By default, all interfaces use queue-set 1 for output queues unless explicitly configured to use queue-set 2.


In this scenario queue 1 in queue-set 1 has 25% of the total buffer space and threshold 1 is set to 100%


Switch#sh mls qos queue-set

Queueset: 1

Queue     :       1       2       3       4

----------------------------------------------

buffers   :      25      25      25      25

threshold1:     100     200     100     100

threshold2:     100     200     100     100

reserved  :      50      50      50      50

maximum   :     400     400     400     400

Queueset: 2

Queue     :       1       2       3       4

----------------------------------------------

buffers   :      25      25      25      25

threshold1:     100     200     100     100

threshold2:     100     200     100     100

reserved  :      50      50      50      50

maximum   :     400     400     400     400



Step6> If you wish to change the buffer and threshold values just for the affected interface, please change queue-set 2 and configure the affected interface to use queue-set 2.


Note: You can change queue-set 1 also but as all the interfaces by default use queue-set 1, the change will be reflected to all the interfaces.


In the next step I am changing queue-set 2 so that queue 1 gets 70% of total buffer.

Switch(config)#mls qos queue-set output 2 buffers 70 10 10 10


In next step i am changing queue-set 2, queue 1 thresholds. Both Threshold 1 and Threshold 2 are mapped to 3100 so that they can pull buffer from the reserved pool if required.

Switch(config)#mls qos queue-set output 2 threshold 1 3100 3100 100 3200

Step7> Check if the changes reflect under correct queue and queue-set.


Switch#sh mls qos queue-set

Queueset: 1

Queue     :       1       2       3       4

----------------------------------------------

buffers   :      25      25      25      25

threshold1:     100     200     100     100

threshold2:     100     200     100     100

reserved  :      50      50      50      50

maximum   :     400     400     400     400

Queueset: 2

Queue     :       1       2       3       4

----------------------------------------------

buffers   :      70      10      10      10

threshold1:    3100     100     100     100

threshold2:    3100     100     100     100

reserved  :     100      50      50      50

maximum   :    3200     400     400     400



Step8> Make the affected interface use queue-set 2 so that the changes take effect on this interface.


Switch(config)#int gi1/0/1

Switch(config-if)#queue-set 2

Switch(config-if)#end


Confirm if the interface is mapped to queue-set 2

Switch#sh run int gi1/0/1

interface GigabitEthernet1/0/1

switchport mode access

mls qos trust dscp

queue-set 2

end

Check if the interface is still dropping packets.

Step9> We can also configure the scheduler to increase the rate at which queue 1 will be serviced using the share and shape options. In this example Queue 1 alone will get 50% of the total CPU cycles and rest three queues will collectively get 50% of the CPU cycles.

Switch(config-if)#srr-queue bandwidth share 1 75 25 5


Switch(config-if)#srr-queue bandwidth shape  2  0  0  0

Check if the interface is still dropping packets.

Step10> If the packets are still getting dropped, as a last resort we can enable priority queue on this interface. This will ensure that all the traffic in the priority queue to gets processed before any other queue.

Note:Priority queue is serviced until empty before the other queues are serviced.By default on 2960/3560/3750 switches, queue 1 is the priority queue.

Switch(config)#int gi1/0/1

Switch(config-if)#priority-queue out

Switch(config-if)#end

The marking getting dropped on the interface can be mapped so that it goes to queue 1, which is now the priority queue . In this way we ensure that traffic with this marking always gets processed before anything else.

Switch(config)#mls qos srr-queue output dscp-map queue 1 threshold 1 ?

<0-63>  dscp values separated by spaces (up to 8 values total)


For detailed configuration examples and command syntax please visit
http://tinyurl.com/7zvf9o

**************************************************************************************************

COMMENTS? QUESTIONS? SUGGESTIONS?


Please sign in, and enter your feedback below!  Thank you!


11 Comments
Souvik Ghosh
Cisco Employee

there are few more troubleshooting commands which you can use to check for the drops.

1. sh plat port asic stats drop int gix/y


SW1#sh plat port-as stats drop gi2/0/1

  Interface Gi2/0/1 TxQueue Drop Statistics
    Queue 0
      Weight 0 Frames 0
      Weight 1 Frames 0
      Weight 2 Frames 0
    Queue 1
      Weight 0 Frames 0
      Weight 1 Frames 0
      Weight 2 Frames 0
    Queue 2
      Weight 0 Frames 0
      Weight 1 Frames 0
      Weight 2 Frames 0
    Queue 3
      Weight 0 Frames 0
      Weight 1 Frames 0
      Weight 2 Frames 0

here queue 0 and weight 0 is queue1 and weight 1 in the output of the command sh mls qos map dscp-output-queue.

Before changing the queue set it is recommended to check for the drops at the asic level just to confirm in which queue the drops are incrementing.

Note these drops are historic and do not get cleared on giving the command clear counter gix/y. The counters get cleared only on reboot.

In the switches are in stack ( 3750, 2960S) you need to session to the switch where the port physically exist to issue the command.

e.g - if you have a 3 member stack and member 1 is the master and you need to check the port statistics of 2/0/1 then you heve to issue the command "session 2" before issueing the previous command.

in older version of ios the command needed you to specify the asic and port number of the phsycial port. the port and asic info of a physical port can be obtained from the output of the command.

sh platfrom pm if-number

interface gid  gpn  lpn  port slot unit slun port-type lpn-idb gpn-idb
----------------------------------------------------------------------
Gi1/0/1   1    1    1    2/2  1    1    1    remote    No      Yes
Gi1/0/2   2    2    2    2/3  1    2    2    remote    No      Yes
Gi1/0/3   3    3    3    2/0  1    3    3    remote    No      Yes
Gi1/0/4   4    4    4    2/1  1    4    4    remote    No      Yes
Gi1/0/5   5    5    5    0/2  1    5    5    remote    No      Yes
Gi1/0/6   6    6    6    0/3  1    6    6    remote    No      Yes
Gi1/0/7   7    7    7    0/0  1    7    7    remote    No      Yes
Gi1/0/8   8    8    8    0/1  1    8    8    remote    No      Yes
Gi1/0/9   9    9    9    1/2  1    9    9    remote    No      Yes
Gi1/0/10  10   10   10   1/3  1    10   10   remote    No      Yes
Gi1/0/11  11   11   11   1/0  1    11   11   remote    No      Yes
Gi1/0/12  12   12   12   1/1  1    12   12   remote    No      Yes
Gi2/0/1   55   55   1    2/2  2    1    1    local     Yes     Yes
Gi2/0/2   56   56   2    2/3  2    2    2    local     Yes     Yes
Gi2/0/3   57   57   3    2/0  2    3    3    local     Yes     Yes
Gi2/0/4   58   58   4    2/1  2    4    4    local     Yes     Yes
Gi2/0/5   59   59   5    0/2  2    5    5    local     Yes     Yes
Gi2/0/6   60   60   6    0/3  2    6    6    local     Yes     Yes
Gi2/0/7   61   61   7    0/0  2    7    7    local     Yes     Yes
Gi2/0/8   62   62   8    0/1  2    8    8    local     Yes     Yes

then use the command

sh plat port-as stats drop port < number in the "unit" coloumn from the previous output> asic < number in the "slot" coloumn from the previous output>

2. Also in order to check the traffic statistics of each queue apart from the sh mls qos int gigx/y statistics output we can use the command

sh plat port asic stat enque gix/y.

the above theory for switches in stack and switches running older version of IOS holds good for the enqueue command as well.

Shashank Singh
Cisco Employee

Thanks a lot for your comments, Souvik! This indeed makes the blog more complete

I would like to answer a few questions that came up.

Q: When do I alter the queue-set and when do I use sharing/shaping?

A: The decision depends on the nature of drops. If the drops are incrementing intermittently, they are mostly because of bursty traffic. On the contrary, if drops are incrementing continuously at a constant rate, it is a safe bet that the queue dropping the packets is continuosly getting more data it can send out.

For intermittent drops,  we need the queue to have a large buffer which can accomodate occasional bursts. To acheive this, we alter the queue-set and allocate more buffer to the affected queue and increase the threshold values too.

For continuous drops, we need to configure the scheduler to service the affected queue more often and to take out more packets from the queue per CPU cycle.  To acheive this, we confiure the sharing/shaping on the egress queues.

Q:What is the difference between sharing and shaping?

A: In shaped mode, the egress queues are guaranteed a percentage of the bandwidth, and they are rate-limited to that amount. Shaped traffic does not use more than the allocated bandwidth even if the link is idle. Shaping provides a more even flow of traffic over time and reduces the peaks and valleys of bursty traffic. With shaping, the absolute value of each weight is used to compute the bandwidth available for the queues.

srr-queue bandwidth shapeweight1 weight2 weight3 weight4

The inverse ratio (1/weight) controls the shaping bandwidth for this queue.In other words, queue1 is reserved 1/weight1 percent of total bandwidth and so on. If you configure a weight of 0, the corresponding queue operates in shared mode. The weight specified with the srr-queue bandwidth shape command is ignored, and the weights specified with the srr-queue bandwidth share interface configuration command for a queue come into effect.

In shared mode, the queues share the bandwidth among them according to the configured weights. The bandwidth is guaranteed at this level but not limited to it. For example, if a queue is empty and no longer requires a share of the link, the remaining queues can expand into the unused bandwidth and share it among them.

srr-queue bandwidth share weight1 weight2 weight3 weight4

queue1 is guranteed a minimum of weight1/(weight1 + weight2 + weight3 + weight4) percent of the bandwidth but can also eat up into the bandwidth of other non-shaped queues if required.

helenio
Beginner

related to "Output drops due to QoS on 2960/3560/3750 switches" here above you can increase max buffer size (borrowed from common popl) and consequently threshold1 and  threshold2 to 3100%. what about threshold3 that is still implicit to 100%. Does this mean that DSCP/Cos mapped to threshold3 will be dropped before packet mapped threshold2 or 1 ?

as from your statement above ...

Switch(config)#mls qos queue-set output 2 threshold 1 3100 3100 100 3200

Shashank Singh
Cisco Employee

When we configure Threshold1/Threshold2 to a higher value (say 3100) it is a must to configure 'maximum' to an equal or higher value than 3100. Threshold3 is equal to the “maximum” allowed. As a result DSCP/Cos mapped to threshold3 will always get dropped after markings mapped threshold2 and 1.

Hope that answers your query.

Cheers,

Shashank

bcoverstone
Beginner

This is a great article, and helped me solve the mysterious packet drops that our switches were having!

I have one question though.  How do you find out the actual buffer size for a given port?  If my queue buffer is set to 25%, then my number of buffers are ... ?  Is it the hold-queue out configured on each port? If it is the hold-queue, then by default that number is 40 (for ethernet ports), so a queue buffer 25% / threshold 100% would mean the queue can buffer 10 packets before tail dropping.

I couldn't find anything in the documentation about finding out or setting the actual buffer sizes.  Could you let me know if my thoughts above are correct?

Shashank Singh
Cisco Employee

Glad that you found the blog useful

hold-queue normally affects only process switched packets. With hold-queue in and out we can adjust the

queue length of incoming and outcoming packets that are expected to be process switched by the switch.

Buffers discussed in the blog are hardware buffers present on port ASICs and are shared among the ports belonging

to an ASIC. Actual buffer size varies from one model of the switch to another and is often in the order of  a few hundred KBs. Ingress buffers are separate from egress buffers. A 48 port switch may have as many as 6 such ASICs.

Hope that helps.

mg097906
Beginner

I think this thread presented some very good information on a complex topic.  However, from a design perspective if you are running VoIP then you should have that data flow in the priority queue from the beginning.  Though not many folks run jumbo frames, but those that do should be aware of a bug enabling B/W sharing and jumbo frames.  Check software release notes.  This bug also applies to Blade 3130's.  For those that want to peel the onion back a few more layers.  I found a blog document "Understanding the Egress QoS logic on the C3750/C3560/C3750E/C3560E platforms" which goes into much greater detail then Shashank presented above.

devnetjmt
Beginner

Great post!! It has helped a lot with my LAN QoS troubleshooting.

I have one question: I am dealing with 3550s. Which would be the best way to check drops per queue in this case? sh plat port-as stats drop doesn't work.

Thank you very much.

Shashank Singh
Cisco Employee
Tulga Bat
Beginner

Hi Shashank,

  Really useful, but can you check my scenario?

https://supportforums.cisco.com/discussion/12547726/output-drops-due-qos-access-layer-switch-3750

 

Zaaf Aba
Beginner

Hi

 

Much appreciated. This post proved to be very useful and helped me troubleshooting.

Although this is an old post but I am replying for future searchers. Commands were verified on test WS-C3750X-24P without any additional module installed but in the command output it is showing gi1/1/1-gi1/1/4 , te1/1/1-te1/1/2 don't know where they came from.

 

 

sh ver

Cisco IOS Software, C3750E Software (C3750E-UNIVERSALK9NPE-M), Version 15.2(1)E2, RELEASE SOFTWARE (fc1)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2014 by Cisco Systems, Inc.

Compiled Tue 11-Mar-14 13:25 by prod_rel_team

 

ROM: Bootstrap program is C3750E boot loader

BOOTLDR: C3750E Boot Loader (C3750X-HBOOT-M) Version 12.2(58r)SE, RELEASE SOFTWARE (fc1)

 

VOIP_TEST_SW uptime is 2 days, 2 hours, 14 minutes

System returned to ROM by power-on

System restarted at 01:27:31 UTC Wed Mar 30 2011

System image file is "flash:/c3750e-universalk9npe-mz.152-1.E2.bin"

Last reload reason: Unknown reason

 

 

 

This product contains cryptographic features and is subject to United

States and local country laws governing import, export, transfer and

use. Delivery of Cisco cryptographic products does not imply

third-party authority to import, export, distribute or use encryption.

Importers, exporters, distributors and users are responsible for

compliance with U.S. and local country laws. By using this product you

agree to comply with applicable laws and regulations. If you are unable

to comply with U.S. and local laws, return this product immediately.

 

A summary of U.S. laws governing Cisco cryptographic products may be found at:

http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

 

If you require further assistance please contact us by sending email to

export@cisco.com.

 

License Level: lanbase

License Type: Permanent

Next reload license Level: lanbase

 

cisco WS-C3750X-24P (PowerPC405) processor (revision A0) with 262144K bytes of memory.

Processor board ID FDO1707P13V

Last reset from power-on

2 Virtual Ethernet interfaces

1 FastEthernet interface

28 Gigabit Ethernet interfaces

2 Ten Gigabit Ethernet interfaces

The password-recovery mechanism is enabled.

 

512K bytes of flash-simulated non-volatile configuration memory.

Base ethernet MAC Address       : B8:38:61:8D:7B:80

Motherboard assembly number     : 73-12551-10

Motherboard serial number       : FDO17520XX2

Model revision number           : A0

Motherboard revision number     : C0

Model number                    : WS-C3750X-24P-L

Daughterboard assembly number   : 800-32727-03

Daughterboard serial number     : FDO17520JQT

System serial number            : FDO1707P13V

Top Assembly Part Number        : 800-31325-08

Top Assembly Revision Number    : E0

Version ID                      : V05

CLEI Code Number                : COMJR00ARE

Hardware Board Revision Number  : 0x05

 

 

Switch Ports Model              SW Version            SW Image

------ ----- -----              ----------            ----------

*    1 30    WS-C3750X-24P      15.2(1)E2             C3750E-UNIVERSALK9NPE-M

 

 

Configuration register is 0xF

 

Following ports were only connected

VOIP_TEST_SW#sh int status | i connected

Gi1/0/4                      connected    121        a-full a-1000 10/100/1000BaseTX

Gi1/0/23  Trunk Etherchannel connected    trunk      a-full a-1000 10/100/1000BaseTX

Gi1/0/24  Trunk Etherchannel connected    trunk      a-full a-1000 10/100/1000BaseTX

Po2       Trunk Etherchannel connected    trunk      a-full a-1000

 

Transfered about 2.9GB from laptop connected to gi1/0/4 to a server via Po2 trunk which has Gi1/0/23  and Gi1/0/23   as underlying ports

 

VOIP_TEST_SW#sh interfaces Gi1/0/4

GigabitEthernet1/0/4 is up, line protocol is up (connected)

  Hardware is Gigabit Ethernet, address is b838.618d.7b84 (bia b838.618d.7b84)

  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,

     reliability 255/255, txload 1/255, rxload 1/255

  Encapsulation ARPA, loopback not set

  Keepalive set (10 sec)

  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX

  input flow-control is off, output flow-control is unsupported

  ARP type: ARPA, ARP Timeout 04:00:00

  Last input never, output 00:00:00, output hang never

  Last clearing of "show interface" counters never

  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0

  Queueing strategy: fifo

  Output queue: 0/40 (size/max)

  5 minute input rate 1351000 bits/sec, 90 packets/sec

  5 minute output rate 4000 bits/sec, 5 packets/sec

     2165861 packets input, 3155742094 bytes, 0 no buffer

     Received 168 broadcasts (42 multicasts)

     0 runts, 0 giants, 0 throttles

     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

     0 watchdog, 42 multicast, 0 pause input

     0 input packets with dribble condition detected

     514196 packets output, 96026689 bytes, 0 underruns

     0 output errors, 0 collisions, 1 interface resets

     0 unknown protocol drops

     0 babbles, 0 late collision, 0 deferred

     0 lost carrier, 0 no carrier, 0 pause output

     0 output buffer failures, 0 output buffers swapped out

 

 

VOIP_TEST_SW#sh platform pm if-number

 

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/9  1    7    7    local     Yes     Yes

Gi1/0/8   8    8    8    1/8  1    8    8    local     Yes     Yes

Gi1/0/9   9    9    9    1/11 1    9    9    local     Yes     Yes

Gi1/0/10  10   10   10   1/10 1    10   10   local     Yes     Yes

Gi1/0/11  11   11   11   1/13 1    11   11   local     Yes     Yes

Gi1/0/12  12   12   12   1/12 1    12   12   local     Yes     Yes

Gi1/0/13  13   13   13   1/15 1    13   13   local     Yes     Yes

Gi1/0/14  14   14   14   1/14 1    14   14   local     Yes     Yes

Gi1/0/15  15   15   15   1/17 1    15   15   local     Yes     Yes

Gi1/0/16  16   16   16   1/16 1    16   16   local     Yes     Yes

Gi1/0/17  17   17   17   1/19 1    17   17   local     Yes     Yes

Gi1/0/18  18   18   18   1/18 1    18   18   local     Yes     Yes

Gi1/0/19  19   19   19   1/23 1    19   19   local     Yes     Yes

Gi1/0/20  20   20   20   1/22 1    20   20   local     Yes     Yes

Gi1/0/21  21   21   21   1/25 1    21   21   local     Yes     Yes

Gi1/0/22  22   22   22   1/24 1    22   22   local     Yes     Yes

Gi1/0/23  23   23   23   1/27 1    23   23   local     Yes     Yes

Gi1/0/24  24   24   24   1/26 1    24   24   local     Yes     Yes

 

Gi1/1/1   25   25   25   0/6  1    25   25   local     Yes     Yes

Gi1/1/2   26   26   26   0/7  1    26   26   local     Yes     Yes

Gi1/1/3   27   27   27   0/20 1    27   27   local     Yes     Yes

Gi1/1/4   28   28   28   0/21 1    28   28   local     Yes     Yes

Te1/1/1   29   29   29   0/0  1    1    29   local     Yes     Yes

Te1/1/2   30   30   30   0/14 1    2    30   local     Yes     Yes

Po2       520  520  0    1/0  10   2    2    local     No      No

 

interface gid  gpn  lpn  port slot unit slun port-type lpn-idb gpn-idb

----------------------------------------------------------------------

St1       896  896  0    16/0  1    0    0    internal  Yes     Yes

 

 

But I am a bit confused by a post by Souvik Ghosh,” in which he referred to use commands.

sh platfrom pm if-number

sh plat port-as stats drop port < number in the "unit" column from the previous output> asic < number in the "slot" column from the previous output>”

 

So if I use the port number 4(as listed in unit column) for gi1/0/4, the output is below with 0 stats. This can't be right because I just transferred 2.9Gb file across

 

sh platform port-asic stats enqueue port 4 asic 1

 

Port-asic Port Enqueue Statistics - Summary

===========================================

  RxQueue Enqueue Statistics Slice0

  RxQueue 0 Enqueue Stats Slice0: 50493

  RxQueue 1 Enqueue Stats Slice0: 11268

  RxQueue 2 Enqueue Stats Slice0: 2165871

  RxQueue 3 Enqueue Stats Slice0: 30

  RxQueue Enqueue Statistics Slice1

   RxQueue 0 Enqueue Stats Slice1: 48

   RxQueue 1 Enqueue Stats Slice1: 14533

   RxQueue 2 Enqueue Stats Slice1: 512018

   RxQueue 3 Enqueue Stats Slice1: 0

 

  Port  0 TxQueue Enqueue Stats:          4

  Port  1 TxQueue Enqueue Stats:          4

  Port  2 TxQueue Enqueue Stats:     515897

  Port  3 TxQueue Enqueue Stats:          4

  Port  4 TxQueue Enqueue Stats:          4

  Port  5 TxQueue Enqueue Stats:          4

  Port  6 TxQueue Enqueue Stats:          0

  Port  7 TxQueue Enqueue Stats:          0

  Port  8 TxQueue Enqueue Stats:          4

  Port  9 TxQueue Enqueue Stats:          4

  Port 10 TxQueue Enqueue Stats:          4

  Port 11 TxQueue Enqueue Stats:          4

  Port 12 TxQueue Enqueue Stats:          4

  Port 13 TxQueue Enqueue Stats:          4

  Port 14 TxQueue Enqueue Stats:          4

  Port 15 TxQueue Enqueue Stats:          4

  Port 16 TxQueue Enqueue Stats:          4

  Port 17 TxQueue Enqueue Stats:          4

  Port 18 TxQueue Enqueue Stats:          4

  Port 19 TxQueue Enqueue Stats:          4

  Port 20 TxQueue Enqueue Stats:          0

  Port 21 TxQueue Enqueue Stats:          0

  Port 22 TxQueue Enqueue Stats:          4

  Port 23 TxQueue Enqueue Stats:          4

  Port 24 TxQueue Enqueue Stats:          4

  Port 25 TxQueue Enqueue Stats:          4

  Port 26 TxQueue Enqueue Stats:       2108

  Port 27 TxQueue Enqueue Stats:    2166405

 

Port-asic Port Enqueue Statistics - Details

===========================================

  RxQueue Enqueue Statistics Slice0

    Queue 0

      Weight 0 48

      Weight 1 50445

      Weight 2 0

    Queue 1

      Weight 0 165

      Weight 1 7553

      Weight 2 3550

    Queue 2

      Weight 0 0

      Weight 1 0

      Weight 2 2165871

    Queue 3

      Weight 0 0

      Weight 1 0

      Weight 2 30

  RxQueue Enqueue Statistics Slice1

    Queue 0

      Weight 0 48

      Weight 1 0

      Weight 2 0

    Queue 1

      Weight 0 14533

      Weight 1 0

      Weight 2 0

    Queue 2

      Weight 0 0

      Weight 1 0

      Weight 2 512018

    Queue 3

      Weight 0 0

      Weight 1 0

      Weight 2 0

 

  Port 4 TxQueue Enqueue Statistics

    Queue 0

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 1

        Weight 0 Frames 0

        Weight 1 Frames 4

        Weight 2 Frames 0

    Queue 2

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 3

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 4

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 5

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 6

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 7

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

 

 

My understanding was that the port number to be used in command

sh plat port-as stats drop port or sh platform port-asic stats enqueue port

(Should be the corresponding value after / in the port column and not the value in unit column) and similarly (Asic number is the corresponding value before / under port column)

 

So if I want to check stats for gi1/0/4 the port number for the command below should be 2 instead of 4, because that is the corresponding value under port column

 

sh platform port-asic stats enqueue port 2 asic 1

VOIP_TEST_SW#sh platform port-asic stats enqueue port 2 asic 1

 

Port-asic Port Enqueue Statistics - Summary

===========================================

  RxQueue Enqueue Statistics Slice0

  RxQueue 0 Enqueue Stats Slice0: 68694

  RxQueue 1 Enqueue Stats Slice0: 14749

  RxQueue 2 Enqueue Stats Slice0: 2166860

  RxQueue 3 Enqueue Stats Slice0: 30

  RxQueue Enqueue Statistics Slice1

   RxQueue 0 Enqueue Stats Slice1: 48

   RxQueue 1 Enqueue Stats Slice1: 19606

   RxQueue 2 Enqueue Stats Slice1: 514339

   RxQueue 3 Enqueue Stats Slice1: 0

 

  Port  0 TxQueue Enqueue Stats:          4

  Port  1 TxQueue Enqueue Stats:          4

  Port  2 TxQueue Enqueue Stats:     521099

  Port  3 TxQueue Enqueue Stats:          4

  Port  4 TxQueue Enqueue Stats:          4

  Port  5 TxQueue Enqueue Stats:          4

  Port  6 TxQueue Enqueue Stats:          0

  Port  7 TxQueue Enqueue Stats:          0

  Port  8 TxQueue Enqueue Stats:          4

  Port  9 TxQueue Enqueue Stats:          4

  Port 10 TxQueue Enqueue Stats:          4

  Port 11 TxQueue Enqueue Stats:          4

  Port 12 TxQueue Enqueue Stats:          4

  Port 13 TxQueue Enqueue Stats:          4

  Port 14 TxQueue Enqueue Stats:          4

  Port 15 TxQueue Enqueue Stats:          4

  Port 16 TxQueue Enqueue Stats:          4

  Port 17 TxQueue Enqueue Stats:          4

  Port 18 TxQueue Enqueue Stats:          4

  Port 19 TxQueue Enqueue Stats:          4

  Port 20 TxQueue Enqueue Stats:          0

  Port 21 TxQueue Enqueue Stats:          0

  Port 22 TxQueue Enqueue Stats:          4

  Port 23 TxQueue Enqueue Stats:          4

  Port 24 TxQueue Enqueue Stats:          4

  Port 25 TxQueue Enqueue Stats:          4

  Port 26 TxQueue Enqueue Stats:       2375

  Port 27 TxQueue Enqueue Stats:    2167567

 

Port-asic Port Enqueue Statistics - Details

===========================================

  RxQueue Enqueue Statistics Slice0

    Queue 0

      Weight 0 48

      Weight 1 68647

      Weight 2 0

    Queue 1

      Weight 0 218

      Weight 1 10062

      Weight 2 4469

    Queue 2

      Weight 0 0

      Weight 1 0

      Weight 2 2166860

    Queue 3

      Weight 0 0

      Weight 1 0

      Weight 2 30

  RxQueue Enqueue Statistics Slice1

    Queue 0

      Weight 0 48

      Weight 1 0

      Weight 2 0

    Queue 1

      Weight 0 19606

      Weight 1 0

      Weight 2 0

    Queue 2

      Weight 0 0

      Weight 1 0

      Weight 2 514339

    Queue 3

      Weight 0 0

      Weight 1 0

      Weight 2 0

 

  Port 2 TxQueue Enqueue Statistics

    Queue 0

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 1

        Weight 0 Frames 21

        Weight 1 Frames 7861

        Weight 2 Frames 1778

    Queue 2

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 3

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 511441

    Queue 4

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 5

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 6

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

    Queue 7

        Weight 0 Frames 0

        Weight 1 Frames 0

        Weight 2 Frames 0

 

 

 

The output truly reflects the data transferred. Is this behaviour different because of the platform?

Moreover can someone explain what does Slice0 or Slice1 means? Is it referring to accumulative stats Queueset: 1 and Queueset: 2 for every port including the trunk/portchannel?

 

Thanks

Content for Community-Ad