Date created: Friday, August 28, 2015 4:58:07 PM. Last modified: Tuesday, July 24, 2018 2:36:06 PM
6500/7600 QoS on LAN Cards (WS-X67xx & RSP720-3CXL)
References:
http://www.cisco.com/c/en/us/td/docs/ios/qos/command/reference/qos_book/qos_n1.html
http://www.cisco.com/c/en/us/td/docs/routers/7600/ios/15S/configuration/guide/7600_15_0s_book/qos.html
http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series-switches/white_paper_c11_538840.pdf
https://ciscoqos.wordpress.com/tag/7600/
https://supportforums.cisco.com/document/71201/switch-fabric-troubleshooting-tips
http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series-switches/prod_white_paper0900aecd80673385.html
https://supportforums.cisco.com/document/106806/output-drops-input-queue-drops-hold-queues
Contents
MLS QoS
Features and Limitations
Queues and Congestion
Line Cards and Queues
Ports, ASICs and Fabric Connections
WRR/DWRR, Queuing and Congestion Configuration
Erros
Show Commands
Enabling "mls qos" globally without any further configuration is usually more harmful to the routers operation than leaving MLS QoS disabled. As soon as MLS QoS is enabled two issues arise (from cisco.com):
-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.
One needs to also take into consideration if the PFC is to run in short pipe mode or uniform mode, in short pipe mode for example on an ingress MPLS LER a 7600 can not manipulate/re-write/set DSCP or ToS markings on an IP packet. An MPLS label is pushed on and only the EXP bits can be set. Uniform mode is enabled via the global config command "mls mpls qos input uniform-mode":
http://www.cisco.com/c/en/us/td/docs/routers/7600/ios/15S/configuration/guide/7600_15_0s_book/mplsqos.html#64181
http://www.cisco.com/c/en/us/td/docs/routers/7600/ios/15S/configuration/guide/7600_15_0s_book/mplsqos.html#pgfId-1405948
In PFC QoS, ports need to be in a trust state, which means that markings on incoming packets are accepted as valid and used as the basis of the initial internal DSCP value. Ports are untrusted by default, which sets the initial internal DSCP value to zero. You can configure ports to trust received CoS, IP precedence, or DSCP...Layer 3 DSCP-based queue mapping is available only on WS-X6708-10GE ports.
Ingressing packets set the initial internal DSCP value based on the CoS value (in trust CoS state), DSCP value (in trust DSCP state), IP precedence value (in trust IP precedence state), or internal DSCP 0 in no-trust state.
During processing, PFC QoS represents the priority of all traffic (including non-IP traffic) with an internal DSCP value. On the PFC, before any marking or policing takes place, PFC QoS derives the initial internal DSCP value as follows:
- From received CoS values or from port CoS values for trust CoS traffic.
- Mapped from received IP precedence values for trust IP precedence traffic.
- From received DSCP values for trust DSCP traffic.
- Mapped from port CoS or DSCP values configured in policy maps for untrusted traffic.
For trust CoS traffic and trust IP precedence traffic, PFC QoS uses configurable maps to derive the internal 6-bit DSCP value from CoS or IP precedence, which are 3-bit values.
Ingress LAN port classification, marking, and congestion avoidance use Layer 2 CoS values only and do not use or set Layer 3 IP precedence or DSCP values.
On ports configured to trust CoS, PFC QoS does the following:
- PFC QoS maps the received CoS value in tagged trust CoS traffic to the initial internal DSCP value.
- PFC QoS maps the ingress port CoS value applied to untagged trusted traffic to the initial internal DSCP value.
- Note A policy map can change the trust state of the traffic after it enters the router and use received IP precedence or DSCP as the basis of the initial internal DSCP value.
- PFC QoS enables the CoS-based ingress queues and thresholds to provide congestion avoidance.
On ports configured to trust IP Presedence, PFC QoS does the following:
For traffic from trust IP precedence ports, PFC QoS maps the received IP precedence value to the initial internal DSCP value, unless there is a policy map that changes the trust state of the traffic. Because the ingress port queues and thresholds use Layer 2 CoS, PFC QoS does not implement ingress port congestion avoidance on ports configured to trust IP precedence.
On ports configured to trust DSCP, PFC QoS does the following:
For traffic from trust DSCP ports, PFC QoS uses the received DSCP value as the initial internal DSCP value, unless there is a policy map that changes the trust state of the traffic. Because the ingress port queues and thresholds use Layer 2 CoS, PFC QoS does not implement ingress port congestion avoidance on ports configured to trust DSCP.
Enhanced Egress-QoS Filtering
By default when an ingress QoS policy remarks the IP Precedence or DSCP value on layer 3 traffic, applied to a layer 3 interface, any egress QoS policies based on IP Precedence or DSCP will be made using the original ingress value before the ingress policy re-marked it. To allow egress policies to act on the remarked value add the interface level command "platform ip features sequential" to the ingress interface where the layer 3 traffic enters and the ingress QoS policy that remarks the traffic is applied.
PFC QoS implements congestion avoidance on trust CoS ports. On a trust CoS port, QoS classifies the traffic on the basis of its Layer 2 CoS value and assigns it to an ingress queue to provide congestion avoidance.
The Cisco 7600 series router LAN modules support the following types of queues:
- Standard queues
- Strict-priority queues
The Cisco 7600 series router LAN modules support the following types of scheduling algorithms between queues:
- Weighted Round Robin (WRR)
- Deficit weighted round robin (DWRR)
- Strict-priority queueing
The Cisco 7600 series router LAN modules provides congestion avoidance with these types of thresholds within a queue:
- Weighted Random Early Detection (WRED)
- Tail-drop thresholds
When configuring thresholds, note the following information:
- Queue number 1 is the lowest-priority standard queue.
- Higher-numbered queues are higher priority standard queues.
When you configure multiple-threshold standard queues, note the following information:
- The first percentage that you enter sets the lowest-priority threshold.
- The second percentage that you enter sets the next highest-priority threshold.
- The last percentage that you enter sets the highest-priority threshold.
- The percentages range from 1 to 100. A value of 10 indicates a threshold when the buffer is 10-percent full.
- Always set highest-numbered threshold to 100 percent.
When configuring the WRED-drop thresholds, note the following information:
- Each WRED-drop threshold has a low-WRED and a high-WRED value.
- Low-WRED and high-WRED values are a percentage of the queue capacity (the range is from 1 to 100).
- The low-WRED value is the traffic level under which no traffic is dropped. The low-WRED value must be lower than the high-WRED value.
- The high-WRED value is the traffic level above which all traffic is dropped.
- Traffic in the queue between the low- and high-WRED values has an increasing chance of being dropped as the queue fills.
Line Cards and Queues:
RSP720-3CXL-10GE (With Gigabit Ethernet ports enabled):
Ingress Queue and Drop Thresholds: 2q4t
Ingress Queue Scheduler: WRR
Egress Queue and Drop Thresholds: 1p3q4t
Egress Queue Scheduler: DWRR or SRR
Total Buffer Size:
Ingress Buffer Size: 108 MB
Egress Buffer Size: 98 MB
WS-X6748-GE-TX & WS-X6748-SFP with CFC:
Ingress Queue and Drop Thresholds: 1q8t
Ingress Queue Scheduler: WRR
Egress Queue and Drop Thresholds: 1p3q8t
Egress Queue Scheduler: DWRR
Total Buffer Size: 1.3 MB
Ingress Buffer Size: 166 KB
Egress Buffer Size: 1.2 MB
WS-X6704-10GE with CFC:
Ingress Queue and Drop Thresholds: 1q8t
Ingress Queue Scheduler: WRR
Egress Queue and Drop Thresholds: 1p7q8t
Egress Queue Scheduler: DWRR
Total Buffer Size: 16 MB
Ingress Buffer Size: 2 MB
Egress Buffer Size: 14 MB
1q8t indicates the following:
- One standard queue with eight configurable tail-drop thresholds.
1p3q8t indicates the following:
– One strict-priority queue
– Three standard queues, each with eight thresholds, each threshold configurable as either WRED-drop or tail-drop
Default Receive-queue Size Percentages:
2q8t
- Low priority: 80%
- High priority: 20%
8q8t
- Lowest priority: 80%
- Intermediate queues: 0%
- Highest priority: 20%
Default Transmit-Queue Size Percentages:
1p3q8t
- Low priority: 50%
- Medium priority: 20%
- High priority: 15%
- Strict priority 15%
Default Bandwidth Allocation Ratios:
- 2q8t - 10:90
- 1p3q8t - 22:33:45
- 1p7q8t - 22:33:45:0:0:0:0
Default Drop-Threshold Percentages and CoS Value Mappings:
The following tables lists the default values when you configure mls qos and mls qos trust cos
- 1q8t Receive Queues Standard receive queue Threshold 1 CoS 0 Tail-drop 50% WRED-drop Not supported Threshold 2 CoS None Tail-drop 50% WRED-drop Not supported Threshold 3 CoS 1, 2, 3, 4 Tail-drop 60% WRED-drop Not supported Threshold 4 CoS None Tail-drop 60% WRED-drop Not supported Threshold 5 CoS 6 and 7 Tail-drop 80% WRED-drop Not supported Threshold 6 CoS None Tail-drop 80% WRED-drop Not supported Threshold 7 CoS 5 Tail-drop 100% WRED-drop Not supported Threshold 8 CoS None Tail-drop 100% WRED-drop Not supported - 2q8t Receive Queues Standard receive queue 1 (low priority) Threshold 1 CoS 0 and 1 Tail-drop 70% WRED-drop Not supported Threshold 2 CoS 2 and 3 Tail-drop 80% WRED-drop Not supported Threshold 3 CoS 4 Tail-drop 90% WRED-drop Not supported Threshold 4 CoS 6 and 7 Tail-drop 100% WRED-drop Not supported Thresholds 5–8 CoS None Tail-drop 100% WRED-drop Not supported Standard receive queue 2 (high priority) Threshold 1 CoS 5 Tail-drop 100% WRED-drop Not supported Thresholds 2–8 CoS None Tail-drop 100% WRED-drop Not supported - 1p3q8t Transmit Queues Standard transmit queue 1(lowest priority) Threshold 1 CoS 0 Tail-drop Disabled; 70% WRED-drop Enabled; 40% low, 70% high Threshold 2 CoS 1 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Threshold 3 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Threshold 4 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 5–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 50% low, 100% high Standard transmit queue 2 (medium priority) Threshold 1 CoS 2 Tail-drop Disabled; 70% WRED-drop Enabled; 40% low, 70% high Threshold 2 CoS 3 and 4 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 3–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Standard transmit queue 3 (high priority) Threshold 1 CoS 6 and 7 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 2–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Strict-priority transmit queue CoS 5 Tail-drop 100% (nonconfigurable) - 1p7q8t Transmit Queues Standard transmit queue 1 (lowest priority) Threshold 1 CoS 0 Tail-drop Disabled; 70% WRED-drop Enabled; 40% low, 70% high Threshold 2 CoS 1 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 3–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Standard transmit queue 2 (intermediate priority) Threshold 1 CoS 2 Tail-drop Disabled; 70% WRED-drop Enabled; 40% low, 70% high Threshold 2 CoS 3 and 4 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 3–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Standard transmit queue 3 (intermediate priority) Threshold 1 CoS 6 and 7 Tail-drop Disabled; 100% WRED-drop Enabled; 70% low, 100% high Thresholds 2–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 100% low, 100% high Standard transmit queues 4–7 (intermediate priorities) Thresholds 1–8 CoS None Tail-drop Disabled; 100% WRED-drop Enabled; 100% low, 100% high Strict-priority transmit queue CoS 5 Tail-drop 100% (nonconfigurable)
Default queue and threshold allocations when "mls qos" is disabled:
QoS is disabled globally Trust boundary disabled Trust state: trust DSCP Extend trust state: not trusted [COS = 0] Default COS is 0 Queueing Mode In Tx direction: mode-cos Transmit queues [type = 1p3q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 02 WRR 08 03 WRR 08 04 Priority 01 WRR bandwidth ratios: 100[queue 1] 0[queue 2] 0[queue 3] queue-limit ratios: 100[queue 1] 0[queue 2] 0[queue 3] 0[Pri Queue] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-min-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-max-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] WRED disabled queues: 1 2 3 queue thresh cos-map --------------------------------------- 1 1 0 1 2 3 4 5 6 7 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 Queueing Mode In Rx direction: mode-cos Receive queues [type = 1q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 WRR bandwidth ratios: 100[queue 1] queue-limit ratios: 100[queue 1] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue thresh cos-map --------------------------------------- 1 1 0 1 2 3 4 5 6 7 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Packets dropped on Transmit: BPDU packets: 0 queue dropped [cos-map] --------------------------------------------- 1 0 [0 1 2 3 4 5 6 7 ] Packets dropped on Receive: BPDU packets: 0 queue dropped [cos-map] --------------------------------------------- 1 0 [0 1 2 3 4 5 6 7 ]
An existing configuration that is dropping packets in TX queue 1:
7606-6#show run int gi2/17 interface GigabitEthernet2/17 load-interval 30 wrr-queue bandwidth 5 25 70 wrr-queue queue-limit 5 25 40 wrr-queue random-detect min-threshold 3 50 60 70 80 90 100 100 100 wrr-queue random-detect max-threshold 1 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 2 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 3 60 70 80 90 100 100 100 100 mls qos trust dscp 7606-S(config-if)#do show mls qos queuing int gi2/17 Weighted Round-Robin Port QoS is enabled Trust state: trust DSCP Extend trust state: not trusted [COS = 0] Default COS is 0 Queueing Mode In Tx direction: mode-cos Transmit queues [type = 1p3q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 02 WRR 08 03 WRR 08 04 Priority 01 WRR bandwidth ratios: 5[queue 1] 25[queue 2] 70[queue 3] queue-limit ratios: 5[queue 1] 25[queue 2] 40[queue 3] 15[Pri Queue] queue tail-drop-thresholds -------------------------- 1 70[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 70[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-min-thresholds ---------------------------------- 1 40[1] 70[2] 70[3] 70[4] 70[5] 70[6] 70[7] 70[8] 2 40[1] 70[2] 70[3] 70[4] 70[5] 70[6] 70[7] 70[8] 3 50[1] 60[2] 70[3] 80[4] 90[5] 100[6] 100[7] 100[8] queue random-detect-max-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 60[1] 70[2] 80[3] 90[4] 100[5] 100[6] 100[7] 100[8] WRED disabled queues: queue thresh cos-map --------------------------------------- 1 1 0 1 2 1 1 3 1 4 1 5 1 6 1 7 1 8 2 1 2 2 2 3 4 2 3 2 4 2 5 2 6 2 7 2 8 3 1 6 7 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 5 Queueing Mode In Rx direction: mode-cos Receive queues [type = 1q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 WRR bandwidth ratios: 100[queue 1] queue-limit ratios: 100[queue 1] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue thresh cos-map --------------------------------------- 1 1 0 1 2 3 4 5 6 7 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Packets dropped on Transmit: queue dropped [cos-map] --------------------------------------------- 1 1069521 [0 1 ] 2 0 [2 3 4 ] 3 0 [6 7 ] 4 0 [5 ] Packets dropped on Receive: BPDU packets: 0 queue dropped [cos-map] --------------------------------------------------- 1 0 [0 1 2 3 4 5 6 7 ] 7606-S#show counters interface gi2/17 64 bit counters: 0. rxHCTotalPkts = 339684596451 1. txHCTotalPkts = 134723244974 2. rxHCUnicastPkts = 339670428674 3. txHCUnicastPkts = 134708986327 4. rxHCMulticastPkts = 14167767 5. txHCMulticastPkts = 14258397 6. rxHCBroadcastPkts = 10 7. txHCBroadcastPkts = 254 8. rxHCOctets = 427789252760926 9. txHCOctets = 59162553521112 10. rxTxHCPkts64Octets = 4659114504 11. rxTxHCPkts65to127Octets = 109332708700 12. rxTxHCPkts128to255Octets = 40878541520 13. rxTxHCPkts256to511Octets = 8849325424 14. rxTxHCpkts512to1023Octets = 14359862386 15. rxTxHCpkts1024to1518Octets = 15480010609 16. txHCTrunkFrames = 0 17. rxHCTrunkFrames = 0 18. rxHCDropEvents = 0 32 bit counters: 0. rxCRCAlignErrors = 0 1. rxUndersizedPkts = 0 2. rxOversizedPkts = 2558251226 3. rxFragmentPkts = 0 4. rxJabbers = 0 5. txCollisions = 0 6. ifInErrors = 0 7. ifOutErrors = 0 8. ifInDiscards = 0 9. ifInUnknownProtos = 0 10. ifOutDiscards = 4740385 11. txDelayExceededDiscards = 0 12. txCRC = 0 13. linkChange = 21 14. wrongEncapFrames = 0 All Port Counters 1. InPackets = 339684592896 2. InOctets = 427789250870818 3. InUcastPkts = 339670425120 4. InMcastPkts = 14167766 5. InBcastPkts = 10 6. OutPackets = 134723242220 7. OutOctets = 59162552895204 8. OutUcastPkts = 134708983574 9. OutMcastPkts = 14258396 10. OutBcastPkts = 254 11. AlignErr = 0 12. FCSErr = 0 13. XmitErr = 0 14. RcvErr = 0 15. UnderSize = 0 16. SingleCol = 0 17. MultiCol = 0 18. LateCol = 0 19. ExcessiveCol = 0 20. CarrierSense = 0 21. Runts = 0 22. Giants = 2558250369 23. InDiscards = 0 24. OutDiscards = 4740385 25. InErrors = 0 26. OutErrors = 0 27. InUnknownProtos = 0 28. txCRC = 0 29. TrunkFramesTx = 0 30. TrunkFramesRx = 0 31. WrongEncap = 0 32. Broadcast_suppression_discards = 0 33. Multicast_suppression_discards = 0 34. Unicast_suppression_discards = 0 35. rxTxHCPkts64Octets = 4659114474 36. rxTxHCPkts65to127Octets = 109332705606 37. rxTxHCPkts128to255Octets = 40878539777 38. rxTxHCPkts256to511Octets = 8849325267 39. rxTxHCpkts512to1023Octets = 14359862253 40. rxTxHCpkts1024to1518Octets = 15480010495 41. DropEvents = 0 42. CRCAlignErrors = 0 43. UndersizedPkts = 0 44. OversizedPkts = 2558250365 45. FragmentPkts = 0 46. Jabbers = 0 47. Collisions = 0 48. DelayExceededDiscards = 0 49. bpduOutlost = 0 50. qos0Outlost = 4740385 51. qos1Outlost = 0 52. qos2Outlost = 0 53. qos3Outlost = 0 54. qos4Outlost = 0 55. qos5Outlost = 0 56. qos6Outlost = 0 57. qos7Outlost = 0 58. qos8Outlost = 0 59. qos9Outlost = 0 60. qos10Outlost = 0 61. qos11Outlost = 0 62. qos12Outlost = 0 63. qos13Outlost = 0 64. qos14Outlost = 0 65. qos15Outlost = 0 66. qos16Outlost = 0 67. qos17Outlost = 0 68. qos18Outlost = 0 69. qos19Outlost = 0 70. qos20Outlost = 0 71. qos21Outlost = 0 72. qos22Outlost = 0 73. qos23Outlost = 0 74. qos24Outlost = 0 75. qos25Outlost = 0 76. qos26Outlost = 0 77. qos27Outlost = 0 78. qos28Outlost = 0 79. qos29Outlost = 0 80. qos30Outlost = 0 81. qos31Outlost = 0 82. bpduCbicOutlost = 0 83. qos0CbicOutlost = 0 84. qos1CbicOutlost = 0 85. qos2CbicOutlost = 0 86. qos3CbicOutlost = 0 87. bpduInlost = 0 88. qos0Inlost = 0 89. qos1Inlost = 0 90. qos2Inlost = 0 91. qos3Inlost = 0 92. qos4Inlost = 0 93. qos5Inlost = 0 94. qos6Inlost = 0 95. qos7Inlost = 0 96. qos8Inlost = 0 97. qos9Inlost = 0 98. qos10Inlost = 0 99. qos11Inlost = 0 100. qos12Inlost = 0 101. qos13Inlost = 0 102. qos14Inlost = 0 103. qos15Inlost = 0 104. qos16Inlost = 0 105. qos17Inlost = 0 106. qos18Inlost = 0 107. qos19Inlost = 0 108. qos20Inlost = 0 109. qos21Inlost = 0 110. qos22Inlost = 0 111. qos23Inlost = 0 112. qos24Inlost = 0 113. qos25Inlost = 0 114. qos26Inlost = 0 115. qos27Inlost = 0 116. qos28Inlost = 0 117. qos29Inlost = 0 118. qos30Inlost = 0 119. qos31Inlost = 0 120. pqueInlost = 0 121. Overruns = 0 122. maxIndex = 0
When looking at the hold-queue details for 6500/7600 ports, the default input hold-queue for a layer 2 interface is 2000 and the default layer 2 output hold-queue size is 40. The default input hold-queue for a layer 3 interface is 75 and the default layer 3 output hold-queue is 40. Input hold-queue at both Layer 2 and Layer 3 interfaces is using SP and RP I/O memory on the supervisor. The input hold queue parameter is a way to reserve buffers from the RP buffer space and will reserve more space for non-priority data (e.g.ARP) that hits the RP. It will not affect data plane traffic. The output hold queue parameter is only used for traffic processed by CPU too.
! Layer 2 interfacea #show int gi1/23 | i queue Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 5414 Output queue: 0/40 (size/max) ! Layer 3 interface #show int gi2/17 | i queue Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 201 Output queue: 0/40 (size/max)
Ports, ASICs and Fabric Connections
In the WS-X6724-SFP, WS-X6748-SFP and WS-X6748-GETX a single port ASIC supports 12 local Gigabit Ethernet ports. In the WS-X6704-10GE line card, there are four port ASICs each supporting 1 x 10 Gigabit Ethernet ports. For WS-X6708-10GE cards there 8 port ASICs, each supporting 1x 10 Gigabit Ethernet ports. An optional DFC3 can be used with these line cards to provide local switching.
These are port-to-ASIC mappings
Module Number of Ports Number of Port Groups Port Grouping WS-X6724-SFP 24 2 1-12, 13-24 WS-X6748-SFP 48 4 1-12, 13-24, 25-36, 37-48 WS-X6748S-GE-TW 48 4 1-12, 13-24, 25-36, 37-48 WS-X6704-10GE 4 4 1, 2, 3, 4 WS-X6708-10G-3C 8 8 1, 2, 3, 4, 5, 6, 7, 8 WS-X6704-10G-3CXL 8 8 1, 2, 3, 4, 5, 6, 7, 8
There are four ASICs in an WS-X6748-SFP card:
7606-S#show asic-version slot 2 Module in slot 2 has 3 type(s) of ASICs ASIC Name Count Version JANUS 2 (1.0) SSA 2 (9.0) ROHINI 4 (1.6)
Example port Gi2/17 shares an ASIC with wth 12 other port, Gi2/1 ,Gi2/3, Gi2/5, Gi2/7, Gi2/9, Gi2/11, Gi2/13, Gi2/15, Gi2/17, Gi2/19, Gi2/21, Gi2/23. This is shown in the table above (Number of Port Groups and Port Grouping):
7606-S#show int gi2/17 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47 (1,3,5,7,9,11,13,15,17,19,21,23)
These are the other port-to-ASIC mappings for WS-X6748-SFP line card:
7606-S#show int gi2/1 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47 (1,3,5,7,9,11,13,15,17,19,21,23) 7606-S#show int gi2/2 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48 (2,4,6,8,10,12,14,16,18,20,22,24) 7606-S#show int gi2/25 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47 (25,27,29,31,33,35,37,39,41,43,45,47) 7606-S#show int gi2/26 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48 (26,28,30,32,34,36,38,40,42,44,46,48)
These are the port-to-ASIC mappings for WS-X6748-GE-TX:
7606-S#show int gi1/1 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 1-24 (1-12) 7606-S#show int gi1/13 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 1-24 (13-24) 7606-S#show int gi1/25 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 25-48 (25-36) 7606-S#show int gi1/37 capabilities | i ASIC Ports-in-ASIC (Sub-port ASIC) : 25-48 (37-48)
When applying certain configuration settings to a port, it might need to be applied to all ports in that group (because it's an ASIC wide setting):
7606-S(config)# int gi2/17 7606-S(config-if)# rcv-queue cos-map 1 1 0 Propagating cos-map configuration to: Gi2/1 Gi2/3 Gi2/5 Gi2/7 Gi2/9 Gi2/11 Gi2/13 Gi2/15 Gi2/17 Gi2/19 Gi2/21 Gi2/23 Warning: rcv cosmap will not be applied in hardware. To modify rcv cosmap in hardware, all of the interfaces below must be put into 'trust cos' state: Gi2/1 Gi2/3 Gi2/5 Gi2/7 Gi2/9 Gi2/11 Gi2/13 Gi2/15 Gi2/17 Gi2/19 Gi2/21 Gi2/23
Not all of the ports above are configured with "mls qos trust xxx" so the "rcv-queue cos-map" command is not applied to any of them, not even those that have "mls qos trust xxx" configured, they must all be in a trust state before the "rcv-queue cos-map" command takes affect across them all (because the ASIC is either in trust mode, or not).
For WS-X6716-10GE, WS-X6708-10GE, WS-X6704-10GE, WS-X6748-SFP, WS-X6724-SFP, and WS-X6748-GE-TX modules the following commands can be configured per port: "wrr-queue bandwidth", "wrr-queue queue-limit", "wrr-queue random-detect", "wrr-queue threshold", "priority-queue cos-map", "rcv-queue random-detect", "rcv-queue queue-limit" and "rcv-queue threshold". The commands "rcv-queue bandwidth", "wrr-queue cos-map" and "rcv-queue cos-map" are applied per ASIC/port group.
A switch fabric card is integrated into the SUP720 and RSP720 supervisor cards, mean the backplane changes from a serially-access bus to crossbar fabric. When using crossbar fabric the line cards in the chassis can communicate with each other simultaneously.
The crossbar fabric consists of 18 fabric channels, providing each linecard two fabric channels into the crossbar fabric. These channels can run at 8Gbps or 20Gbps depending upon the line card used. The CEF256 and dCEF256 series modules connect to fabric using 8 Gbps per channel and CEF720 series modules connect to it using 20 Gbps per channel. This example chassis only has one RSP, there are no drops on the crossbar fabric between channels and crossbar utilisation is low:
7606-S#show fabric active Active fabric card in slot 6 No backup fabric card in the system 7606-S#show fabric status all slot channel speed module fabric hotsync Standby Standby status status support module fabric 1 0 20G OK OK N/A 1 1 20G OK OK N/A 2 0 20G OK OK N/A 2 1 20G OK OK N/A 3 0 20G OK OK N/A 3 1 20G OK OK N/A 4 0 20G OK OK N/A 4 1 20G OK OK N/A 6 0 20G OK OK N/A 6 1 20G OK OK N/A 7606-S#show fabric utilization all slot channel speed Ingress % Egress % 1 0 20G 0 0 1 1 20G 0 0 2 0 20G 0 0 2 1 20G 0 0 3 0 20G 0 0 3 1 20G 0 0 4 0 20G 0 0 4 1 20G 0 0 6 0 20G 0 0 6 1 20G 0 0 7606-S#show fabric channel-counters all slot channel rxErrors txErrors txDrops lbusDrops 1 0 0 0 0 0 1 1 0 0 0 0 2 0 0 0 0 0 2 1 0 0 0 0 3 0 0 0 0 0 3 1 0 0 0 0 4 0 0 0 0 0 4 1 0 0 0 0 6 0 0 0 0 0 6 1 4 0 0 0 7606-S#show fabric fpoe int gi2/17 fpoe for GigabitEthernet2/17 is 3 7606-S#show fabric fpoe map slot channel logical fpoe physical fpoe 1 0 0 0 1 1 1 9 2 0 2 1 2 1 3 10 3 0 4 2 3 1 5 11 4 0 6 6 4 1 7 15 5 0 8 5 5 1 9 14 6 0 10 18 6 1 11 19
Looking at the output for a WS-X6704-10GE we can see the card has 2 JANUS ASICs which are used for the fabric connections, so as per above that's logical fabric channels 4 & 5. ROHINI ASICs are the port ASICs that connect to JANUS ASICs then back to the crossbar fabric.
7606-S#show asic-version slot 3 Module in slot 3 has 3 type(s) of ASICs ASIC Name Count Version JANUS 2 (1.0) SSA 2 (9.0) ROHINI 4 (1.6) 7606-S#show fabric fpoe interface te3/1 fpoe for TenGigabitEthernet3/1 is 5 7606-S#show fabric fpoe interface te3/2 fpoe for TenGigabitEthernet3/2 is 5 7606-S#show fabric fpoe interface te3/3 fpoe for TenGigabitEthernet3/3 is 4 7606-S#show fabric fpoe interface te3/4 fpoe for TenGigabitEthernet3/4 is 4
For the WS-X6708-10GE there are 8 R2D2 ASICs (ASIC per port) -> 4 Tiangang ASICs (port pair) -> Metro argos -> 2 SSA ASICS (Fabric complex)
show asic slot ASIC Name Count Version KUMA 2 (3.0) METRO_ARGOS 2 (3.0) METRO_KRYPTON 2 (3.0) SSA 2 (9.0) R2D2 8 (2.0) TIANGANG 4 (54.0) Te/1 Ports-in-ASIC (Sub-port ASIC) : 1,4-5,7 (1) Te/2 Ports-in-ASIC (Sub-port ASIC) : 2-3,6,8 (2)
The oversubscription on the WS-X6717-10G card is moderate-to-high, 4:1 as it has the same 40Gbps (2x 20Gbps) chassis backplane connection as the 6704 and 6708 cards, but one also has to factor in that one can't run the backplane connection on the line card flat out. 32Gbps is probably a realistic danger zone figure (80%) for the backplane connection so it's really only for people that want more than 1Gbps but way less then 10Gbps per port. Having 16x 10G ports but not being able running the card at more than a total aggregate of 32Gbps.
In oversubscription mode the 16x 10Gbps ports are split into 4 groups (so 4x 10Gbps ports in each group). Each port-group can only run at a total aggregate of 10Gbps full duplex, which includes port-to-port "local" traffic. Two ports share a single 10G port ASIC (the NAXOS ASIC) and two port pairs (two NAXOs ASICs) feed into an ASHWINI ASIC which is also 10Gbps. So even inter port traffic is oversubscribed 4:1.
One can disable oversubscription mode on the 16 port card until the additional ports are needed, that provides 4x 10G ports with 1:1 fabric subscription and decent 90MB buffers per ports (a bit less than 100ms), the 4x 10G card (6708) only has 16MB per port buffers. But on the 16 port card when one enables oversubscription mode (which is done per port-group) the RX queues for those four ports drop to 1MB per port and that port-group runs with 4:1 oversubscription.
# Outputs from WS-X6716-10G #show asic slot 1 Module in slot 1 has 7 type(s) of ASICs ASIC Name Count Version KUMA 2 (3.0) METRO_ARGOS 2 (3.0) METRO_KRYPTON 2 (3.0) SSA 2 (9.0) NAXOS 8 (1.0) R2D2 4 (3.0) ASHWINI 4 (0.6) #show interface Te1/1 capabilities | inc ASIC Ports-in-ASIC (Sub-port ASIC) : 1-8 (1-4) #show interface Te1/5 capabilities | inc ASIC Ports-in-ASIC (Sub-port ASIC) : 1-8 (5-8) #show interface Te1/9 capabilities | inc ASIC Ports-in-ASIC (Sub-port ASIC) : 9-16 (9-12) #show interface Te1/13 capabilities | inc ASIC Ports-in-ASIC (Sub-port ASIC) : 9-16 (13-16) # Outputs from WS-X6816-10GE #show int te1/1/1 capabilities | in ASIC Ports-in-ASIC (Sub-port ASIC) : 1-8 (1-4) #show int te1/1/5 capabilities | in ASIC Ports-in-ASIC (Sub-port ASIC) : 1-8 (5-8) #show int te1/1/9 capabilities | in ASIC Ports-in-ASIC (Sub-port ASIC) : 9-16 (9-12) #show int te1/1/13 capabilities | in ASIC Ports-in-ASIC (Sub-port ASIC) : 9-16 (13-16) #show asic-version switch 1 slot 1 Module in switch 1, slot 1 has 7 type(s) of ASICs ASIC Name Count Version KUMA 2 (3.0) METRO_ARGOS 2 (4.0) METRO_KRYPTON 2 (4.0) SSA 2 (9.0) NAXOS 8 (0.0) R2D2 4 (3.0) ASHWINI 4 (0.9) #show hw-module slot 1 oversubscription port-group oversubscription-mode 1 enabled 2 enabled 3 enabled 4 enabled
The queuing mode with the drops can be viewed directly on the line card
7606-S#remote command switch show qm port 2 17 ----------------------------------------------------------------------------- * Queuing Mode [COS] * Type: Tx[COS to Q - 1p3q8t] Rx[COS to Q - 1q8t] * Per-Port: Trust[DSCP] Default COS[0] Override[0] [VLAN based] ----------------------------------------------------------------------------- * Cos Mutation Map : 0 1 2 3 4 5 6 7 ----------------------------------------------------------------------------- * Queue Config TX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] QueueNum[2] PriQueue[N] QueueType[2] Thresh[8] QueueNum[3] PriQueue[N] QueueType[2] Thresh[8] QueueNum[4] PriQueue[Y] QueueType[2] Thresh[1] * Queue Config RX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] ----------------------------------------------------------------------------- * COSMAP(C[Q/T]) TX: 0[1/1] 1[1/2] 2[2/1] 3[2/2] 4[2/2] 5[4/1] 6[3/1] 7[3/1] * RX: 0[1/1] 1[1/1] 2[1/1] 3[1/1] 4[1/1] 5[1/1] 6[1/1] 7[1/1] ----------------------------------------------------------------------------- * Bandwidth TX: Q[1-WRR]:12288 Q[2-WRR]:64512 Q[3-WRR]:182272 * Bandwidth RX: Q[1-WRR]:65536 ----------------------------------------------------------------------------- * Queue Limit TX: Q[1]:68736 Q[2]:352576 Q[3]:565504 Q[4]:234304 * Queue Limit RX: Q[1]:173504 ----------------------------------------------------------------------------- * TD/WRED TX: Q[1]/T[1]:[WRED] 27516/68736 Q[1]/T[2]:[WRED] 48126/68736 Q[1]/T[3]:[WRED] 48126/68736 Q[1]/T[4]:[WRED] 48126/68736 Q[1]/T[5]:[WRED] 48126/68736 Q[1]/T[6]:[WRED] 48126/68736 Q[1]/T[7]:[WRED] 48126/68736 Q[1]/T[8]:[WRED] 48126/68736 Q[2]/T[1]:[WRED] 141076/352576 Q[2]/T[2]:[WRED] 246826/352576 Q[2]/T[3]:[WRED] 246826/352576 Q[2]/T[4]:[WRED] 246826/352576 Q[2]/T[5]:[WRED] 246826/352576 Q[2]/T[6]:[WRED] 246826/352576 Q[2]/T[7]:[WRED] 246826/352576 Q[2]/T[8]:[WRED] 246826/352576 Q[3]/T[1]:[WRED] 282754/339304 Q[3]/T[2]:[WRED] 339304/395854 Q[3]/T[3]:[WRED] 395854/452404 Q[3]/T[4]:[WRED] 452404/508954 Q[3]/T[5]:[WRED] 508954/565504 Q[3]/T[6]:[WRED] 565504/565504 Q[3]/T[7]:[WRED] 565504/565504 Q[3]/T[8]:[WRED] 565504/565504 * TD/WRED RX: Q[1]/T[1]:[TD] 173504 Q[1]/T[2]:[TD] 173504 Q[1]/T[3]:[TD] 173504 Q[1]/T[4]:[TD] 173504 Q[1]/T[5]:[TD] 173504 Q[1]/T[6]:[TD] 173504 Q[1]/T[7]:[TD] 173504 Q[1]/T[8]:[TD] 173504 -----------------------------------------------------------------------------
WRR/DWRR, Queuing and Congestion Configuration:
Other PEs that support Hierarchical Queueing Framework (HQF) are using the following class-maps, the example 7600 will be configured to classify packets as closely as possible to those other PEs;
! Existing class-maps on IOS-XE/IOS-XR devices class-map match-any NC match mpls experimental topmost 6 match mpls experimental topmost 7 match dscp cs6 ! DSCP 48 match dscp cs7 ! DSCP 56 match cos 6 match cos 7 class-map match-any REALTIME match mpls experimental topmost 5 match dscp ef ! DSCP 46 match dscp cs5 ! DSCP 40 match cos 5 class-map match-any APP-1 match mpls experimental topmost 4 match dscp af41 ! DSCP 34 match dscp af42 ! DSCP 36 match dscp af43 ! DSCP 38 match dscp cs4 ! DSCP 32 match cos 4 class-map match-any APP-2 match mpls experimental topmost 3 match dscp af31 ! DSCP 26 match dscp af32 ! DSCP 28 match dscp af33 ! DSCP 30 match dscp cs3 ! DSCP 24 match cos 3 class-map match-any APP-3 match mpls experimental topmost 2 match dscp af21 ! DSCP 18 match dscp af22 ! DSCP 20 match dscp af23 ! DSCP 22 match dscp cs2 ! DSCP 16 match cos 2 class-map match-any APP-4 match mpls experimental topmost 1 match dscp af11 ! DSCP 10 match dscp af12 ! DSCP 12 match dscp af13 ! DSCP 14 match dscp cs1 ! DSCP 8 match cos 1
Below is a DSCP to CoS map, this should create the same class groups as above. This is required because most LAN cards queue traffic (at egress) based on the incoming CoS value. Only newer cards like the WS-X6708-10GE and WS-X6716-10GE can perform queuing and congestion avoidance AND scheduling based on DSCP values (which are not in use in this example 7600 router). UPDATE: From 15.0S IOS versions onwards egress DSCP queuing is supported.
Since these cards queue based on the received CoS value, a port in "mls qos trust dscp" mode will allow the DSCP marking to pass-through (an untrusted port would remove them) but no queuing and congestion avoidance is happening. The ports must be in "mls qos trust cos" state on these cards for queuing to happen. So in order for one to configure the port in "mls qos trust cos" and still use DSCP for egress scheduling (such as a policing policy map) a dscp-to-cos map converts the incoming DSCP value into a CoS value. If one wants queuing, congestion avoidance and scheduling all based on ingress DSCP markings one can configure all ports in "mls qos trust dscp" to let the DSCP markings in and act based on internal DSCP value. After speaking with TAC, cards like the WS-X6708-10G can natively queuing based on DSCP rather than using a CoS-to-DSCP/DSCP-to-CsS map and then put the traffic into the matching COS queue, however, queuing and scheduling can be done on other LAN line cards based on DSCP values too (starting from IOS 15.0S onwards), one simply needs to use a QoS map.
QoS maps are actually configured by default (as shown below). A port configured with "mls qos trust cos" will perform ingress/egress queuing based on the received/sending CoS value. The 7600 uses DSCP values internally so an ingress CoS-to-DSCP map "mls qos map cos-dscp ..." converts received CoS values into internal DSCP values. At egress a DSCP-to-CoS map converts those DSCP values to CoS values and performs egress queuing based on this mapped CoS value. With "mls qos trust dscp" configured on the ingress and egress ports the 7600 simply uses the received DSCP value for both ingress and egress queuing with converting between CoS and DSCP values (assuming no coloured policer re-marks the packet). Below are the default CoS-to-DSCP and DSCP-to-CoS maps:
! Configures the received CoS to internal DSCP map. ! You must enter 8 DSCP values to which PFC QoS maps CoS values 0 through 7. ! Defaults: ! CS1 CS2 CS3 CS4 CS5 CS6 CS7 mls qos map cos-dscp 0 8 16 24 32 40 48 56 mls qos map exp-dscp 0 8 16 24 34 40 48 56 mls qos map ip-prec-dscp 0 8 16 24 34 40 48 56 ! Configures the internal DSCP to egress CoS map. ! Defaults: mls qos map dscp-cos 0 to 0 mls qos map dscp-cos 8 10 12 14 to 1 ! CS1, AF11, AF12, AF13 mls qos map dscp-cos 16 18 20 22 to 2 ! CS2, AF21, AF22, AF23 mls qos map dscp-cos 24 26 28 30 to 3 ! CS3, AF31, AF32, AF33 mls qos map dscp-cos 32 34 36 38 to 4 ! CS4, AF41, AF42, AF43 mls qos map dscp-cos 40 46 to 5 ! CS5, EF mls qos map dscp-cos 48 to 6 ! CS6 mls qos map dscp-cos 56 to 7 ! CS7
! This slight variation matches the class-maps above (by grouping CS6 and CS7)
conf t mls qos map dscp-cos 0 to 0 mls qos map dscp-cos 8 10 12 14 to 1 mls qos map dscp-cos 16 18 20 22 to 2 mls qos map dscp-cos 24 26 28 30 to 3 mls qos map dscp-cos 32 34 36 38 to 4 mls qos map dscp-cos 40 46 to 5 mls qos map dscp-cos 48 56 to 7
This is the proposed new configuration for a WS-X6748-SFP card below, here we don't actually want to limit any one kind of traffic in terms of queue depth or allowed bandwidth. So here everything is set to “max” and bandwidth management would be best managed with a policy-map (although policy-maps on these LAN cards only support policing and not shaping) or an intermediary device (like an ME3600/ME3800):
Ingress queue 1q8t == Tail-Drop only queue rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 rcv-queue threshold 1 100 100 100 100 100 100 100 100 Egress queue 1p3q8t == WRED-Drop and Tail-Drop queue ! Apply CoS maps per ASIC/port group int gi2/1 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 2 2 2 wrr-queue cos-map 2 3 3 wrr-queue cos-map 2 4 4 wrr-queue cos-map 3 1 6 7 priority-queue cos-map 1 5 exit int gi2/13 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 2 2 2 wrr-queue cos-map 2 3 3 wrr-queue cos-map 2 4 4 wrr-queue cos-map 3 1 6 7 priority-queue cos-map 1 5 exit int gi2/25 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 2 2 2 wrr-queue cos-map 2 3 3 wrr-queue cos-map 2 4 4 wrr-queue cos-map 3 1 6 7 priority-queue cos-map 1 5 exit int gi2/37 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 2 2 2 wrr-queue cos-map 2 3 3 wrr-queue cos-map 2 4 4 wrr-queue cos-map 3 1 6 7 priority-queue cos-map 1 5 exit ! Apply per interface configuration interface range gi2/1 - 48 rcv-queue threshold 1 100 100 100 100 100 100 100 100 ! WRR tail-drop thresholds wrr-queue threshold 1 100 100 100 100 100 100 100 100 wrr-queue threshold 2 100 100 100 100 100 100 100 100 wrr-queue threshold 3 100 100 100 100 100 100 100 100 ! WRED thresholds (not actually supported on this card) wrr-queue random-detect 1 wrr-queue random-detect 2 wrr-queue random-detect 3 ! WRED thresholds (not actually supported on this card) wrr-queue random-detect min-threshold 1 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 2 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 3 100 100 100 100 100 100 100 100 ! WRED thresholds (not actually supported on this card) wrr-queue random-detect max-threshold 1 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 2 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 3 100 100 100 100 100 100 100 100 wrr-queue queue-limit 100 100 100 priority-queue queue-limit 100 wrr-queue bandwidth 100 100 100 ! priority-queue bandwidth can not be set, any traffic that is waiting in the priority queue always takes precedence over lower prioirty queues with packets waiting to transmit
With the above config, the "wrr-queue bandwidth" command is in relation to packet scheduling between queues. If Deficit weighted round robin (DWRR) is supported (supported on 1p3q1t, 1p2q1t, 1p3q8t, and 1p7q8t ports), DWRR keeps track of any low-priority queue under-transmission and compensates in the next round. If WRR is used, WRR allows a queue to use more than the allocated bandwidth if the other queues are not using any, up to the total bandwidth of the port. The WS-X6748-GE-TX & WS-X6748-SFP support the egress queue scheduler DWRR but "show mls qos queueing interface x/x" will show if it is actually enabled. In this example WRR is being used.
For the command "rcv-queue threshold", the tail-drop thresholds are being set on ingress. For 1q8t receive queues on the WS-X6748-GE-TX & WS-X6748-SFP cards, WRED is not supported for congestion avoidance only tail-drop. For the 1p3q8t egress queues on these two cards, each threshold can be either WRED-drop or tail-drop. So "wrr-queue threshold" is used to configure tail-drop or "wrr-queue random-detect" is used for WRED configuration.
# This is the output for an interface configured with the above 7606-S#show mls qos queuing interface gi2/17 Weighted Round-Robin Port QoS is enabled Trust state: trust DSCP Extend trust state: not trusted [COS = 0] Default COS is 0 Queueing Mode In Tx direction: mode-cos Transmit queues [type = 1p3q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 02 WRR 08 03 WRR 08 04 Priority 01 WRR bandwidth ratios: 100[queue 1] 100[queue 2] 100[queue 3] queue-limit ratios: 100[queue 1] 100[queue 2] 100[queue 3] 100[Pri Queue] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-min-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-max-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] WRED disabled queues: queue thresh cos-map --------------------------------------- 1 1 0 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 1 1 2 2 2 2 3 3 2 4 4 2 5 2 6 2 7 2 8 3 1 6 7 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 5 Queueing Mode In Rx direction: mode-cos Receive queues [type = 1q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 WRR bandwidth ratios: 100[queue 1] queue-limit ratios: 100[queue 1] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue thresh cos-map --------------------------------------- 1 1 0 1 2 3 4 5 6 7 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Packets dropped on Transmit: queue dropped [cos-map] --------------------------------------------- 1 0 [0 ] 2 0 [1 2 3 4 ] 3 0 [6 7 ] 4 0 [5 ] Packets dropped on Receive: BPDU packets: 0 queue dropped [cos-map] --------------------------------------------------- 1 0 [0 1 2 3 4 5 6 7 ] 7606-S#remote command switch show qm port 2 17 ----------------------------------------------------------------------------- * Queuing Mode [COS] * Type: Tx[COS to Q - 1p3q8t] Rx[COS to Q - 1q8t] * Per-Port: Trust[DSCP] Default COS[0] Override[0] [VLAN based] ----------------------------------------------------------------------------- * Cos Mutation Map : 0 1 2 3 4 5 6 7 ----------------------------------------------------------------------------- * Queue Config TX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] QueueNum[2] PriQueue[N] QueueType[2] Thresh[8] QueueNum[3] PriQueue[N] QueueType[2] Thresh[8] QueueNum[4] PriQueue[Y] QueueType[2] Thresh[1] * Queue Config RX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] ----------------------------------------------------------------------------- * COSMAP(C[Q/T]) TX: 0[1/1] 1[2/1] 2[2/2] 3[2/3] 4[2/4] 5[4/1] 6[3/1] 7[3/1] * RX: 0[1/1] 1[1/1] 2[1/1] 3[1/1] 4[1/1] 5[1/1] 6[1/1] 7[1/1] ----------------------------------------------------------------------------- * Bandwidth TX: Q[1-WRR]:86016 Q[2-WRR]:86016 Q[3-WRR]:88064 * Bandwidth RX: Q[1-WRR]:65536 ----------------------------------------------------------------------------- * Queue Limit TX: Q[1]:305280 Q[2]:305280 Q[3]:305280 Q[4]:305280 * Queue Limit RX: Q[1]:173504 ----------------------------------------------------------------------------- * TD/WRED TX: Q[1]/T[1]:[WRED] 305280/305280 Q[1]/T[2]:[WRED] 305280/305280 Q[1]/T[3]:[WRED] 305280/305280 Q[1]/T[4]:[WRED] 305280/305280 Q[1]/T[5]:[WRED] 305280/305280 Q[1]/T[6]:[WRED] 305280/305280 Q[1]/T[7]:[WRED] 305280/305280 Q[1]/T[8]:[WRED] 305280/305280 Q[2]/T[1]:[WRED] 305280/305280 Q[2]/T[2]:[WRED] 305280/305280 Q[2]/T[3]:[WRED] 305280/305280 Q[2]/T[4]:[WRED] 305280/305280 Q[2]/T[5]:[WRED] 305280/305280 Q[2]/T[6]:[WRED] 305280/305280 Q[2]/T[7]:[WRED] 305280/305280 Q[2]/T[8]:[WRED] 305280/305280 Q[3]/T[1]:[WRED] 305280/305280 Q[3]/T[2]:[WRED] 305280/305280 Q[3]/T[3]:[WRED] 305280/305280 Q[3]/T[4]:[WRED] 305280/305280 Q[3]/T[5]:[WRED] 305280/305280 Q[3]/T[6]:[WRED] 305280/305280 Q[3]/T[7]:[WRED] 305280/305280 Q[3]/T[8]:[WRED] 305280/305280 * TD/WRED RX: Q[1]/T[1]:[TD] 173504 Q[1]/T[2]:[TD] 173504 Q[1]/T[3]:[TD] 173504 Q[1]/T[4]:[TD] 173504 Q[1]/T[5]:[TD] 173504 Q[1]/T[6]:[TD] 173504 Q[1]/T[7]:[TD] 173504 Q[1]/T[8]:[TD] 173504 -----------------------------------------------------------------------------
Below is example config for WS-X6704-10GE with CFC, no DFC, which has 1q8t ingress using WRR and 1p7q8t egress. Again in this example no traffic is to be dropped, these are backbone links, traffic has been marked and dropped at the edges and these should be capacity managed to not be congested:
int range Te3/1 - 4 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 1 rcv-queue cos-map 1 3 2 rcv-queue cos-map 1 4 3 rcv-queue cos-map 1 5 4 rcv-queue cos-map 1 6 5 rcv-queue cos-map 1 7 6 7 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 3 1 2 wrr-queue cos-map 4 1 3 wrr-queue cos-map 5 1 4 wrr-queue cos-map 6 1 6 wrr-queue cos-map 7 1 7 priority-queue cos-map 1 5 exit interface range Te3/1 - 4 rcv-queue threshold 1 100 100 100 100 100 100 100 100 wrr-queue bandwidth 255 255 255 255 255 255 255 wrr-queue queue-limit 100 100 100 100 100 100 100 priority-queue queue-limit 100 ! WRR tail-drop thresholds wrr-queue threshold 1 100 100 100 100 100 100 100 100 wrr-queue threshold 2 100 100 100 100 100 100 100 100 wrr-queue threshold 3 100 100 100 100 100 100 100 100 wrr-queue threshold 4 100 100 100 100 100 100 100 100 wrr-queue threshold 5 100 100 100 100 100 100 100 100 wrr-queue threshold 6 100 100 100 100 100 100 100 100 wrr-queue threshold 6 100 100 100 100 100 100 100 100 ! WRED (not actually supported on this card) wrr-queue random-detect 1 wrr-queue random-detect 2 wrr-queue random-detect 3 wrr-queue random-detect 4 wrr-queue random-detect 5 wrr-queue random-detect 6 wrr-queue random-detect 7 ! WRED (not actually supported on this card) wrr-queue random-detect min-threshold 1 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 2 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 3 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 4 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 5 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 6 100 100 100 100 100 100 100 100 wrr-queue random-detect min-threshold 7 100 100 100 100 100 100 100 100 ! WRED (not actually supported on this card) wrr-queue random-detect max-threshold 1 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 2 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 3 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 4 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 5 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 6 100 100 100 100 100 100 100 100 wrr-queue random-detect max-threshold 7 100 100 100 100 100 100 100 100 exit
This is how a port with the above configuration looks:
7606-S#show mls qos queuing interface te3/1 Weighted Round-Robin Port QoS is enabled Trust state: trust DSCP Extend trust state: not trusted [COS = 0] Default COS is 0 Queueing Mode In Tx direction: mode-cos Transmit queues [type = 1p7q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 02 WRR 08 03 WRR 08 04 WRR 08 05 WRR 08 06 WRR 08 07 WRR 08 08 Priority 01 WRR bandwidth ratios: 255[queue 1] 255[queue 2] 255[queue 3] 255[queue 4] 255[queue 5] 255[queue 6] 255[queue 7] queue-limit ratios: 100[queue 1] 100[queue 2] 100[queue 3] 100[queue 4] 100[queue 5] 100[queue 6] 100[queue 7] 100[Pri Queue] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 4 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 5 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 6 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 7 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-min-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 4 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 5 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 6 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 7 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue random-detect-max-thresholds ---------------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 2 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 3 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 4 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 5 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 6 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] 7 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] WRED disabled queues: queue thresh cos-map --------------------------------------- 1 1 0 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 1 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 3 1 2 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 3 4 2 4 3 4 4 4 5 4 6 4 7 4 8 5 1 4 5 2 5 3 5 4 5 5 5 6 5 7 5 8 6 1 6 6 2 6 3 6 4 6 5 6 6 6 7 6 8 7 1 7 7 2 7 3 7 4 7 5 7 6 7 7 7 8 8 1 5 Queueing Mode In Rx direction: mode-cos Receive queues [type = 1q8t]: Queue Id Scheduling Num of thresholds ----------------------------------------- 01 WRR 08 WRR bandwidth ratios: 100[queue 1] queue-limit ratios: 100[queue 1] queue tail-drop-thresholds -------------------------- 1 100[1] 100[2] 100[3] 100[4] 100[5] 100[6] 100[7] 100[8] queue thresh cos-map --------------------------------------- 1 1 0 1 2 3 4 5 6 7 1 2 1 3 1 4 1 5 1 6 1 7 1 8 Packets dropped on Transmit: queue dropped [cos-map] --------------------------------------------- 1 0 [0 ] 2 0 [1 ] 3 0 [2 ] 4 0 [3 ] 5 0 [4 ] 6 0 [6 ] 7 0 [7 ] 8 0 [5 ] Packets dropped on Receive: BPDU packets: 0 queue dropped [cos-map] --------------------------------------------------- 1 0 [0 1 2 3 4 5 6 7 ] 7606-S#remote command switch show qm port 3 1 ----------------------------------------------------------------------------- * Queuing Mode [COS] * Type: Tx[COS to Q - 1p7q8t] Rx[COS to Q - 1q8t] * Per-Port: Trust[DSCP] Default COS[0] Override[0] [VLAN based] ----------------------------------------------------------------------------- * Cos Mutation Map : 0 1 2 3 4 5 6 7 ----------------------------------------------------------------------------- * Queue Config TX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] QueueNum[2] PriQueue[N] QueueType[2] Thresh[8] QueueNum[3] PriQueue[N] QueueType[2] Thresh[8] QueueNum[4] PriQueue[N] QueueType[2] Thresh[8] QueueNum[5] PriQueue[N] QueueType[2] Thresh[8] QueueNum[6] PriQueue[N] QueueType[2] Thresh[8] QueueNum[7] PriQueue[N] QueueType[2] Thresh[8] QueueNum[8] PriQueue[Y] QueueType[2] Thresh[1] * Queue Config RX: QueueNum[1] PriQueue[N] QueueType[2] Thresh[8] ----------------------------------------------------------------------------- * COSMAP(C[Q/T]) TX: 0[1/1] 1[2/1] 2[3/1] 3[4/1] 4[5/1] 5[8/1] 6[6/1] 7[7/1] * RX: 0[1/1] 1[1/1] 2[1/1] 3[1/1] 4[1/1] 5[1/1] 6[1/1] 7[1/1] ----------------------------------------------------------------------------- * Bandwidth TX: Q[1-WRR]:35840 Q[2-WRR]:35840 Q[3-WRR]:35840 Q[4-WRR]:35840 Q[5-WRR]:35840 Q[6-WRR]:35840 Q[7-WRR]:40960 * Bandwidth RX: Q[1-WRR]:261120 ----------------------------------------------------------------------------- * Queue Limit TX: Q[1]:1755072 Q[2]:1755072 Q[3]:1755072 Q[4]:1755072 Q[5]:1755072 Q[6]:1755072 Q[7]:1755072 Q[8]:2336896 * Queue Limit RX: Q[1]:2064768 ----------------------------------------------------------------------------- * TD/WRED TX: Q[1]/T[1]:[WRED] 1755072/1755072 Q[1]/T[2]:[WRED] 1755072/1755072 Q[1]/T[3]:[WRED] 1755072/1755072 Q[1]/T[4]:[WRED] 1755072/1755072 Q[1]/T[5]:[WRED] 1755072/1755072 Q[1]/T[6]:[WRED] 1755072/1755072 Q[1]/T[7]:[WRED] 1755072/1755072 Q[1]/T[8]:[WRED] 1755072/1755072 Q[2]/T[1]:[WRED] 1755072/1755072 Q[2]/T[2]:[WRED] 1755072/1755072 Q[2]/T[3]:[WRED] 1755072/1755072 Q[2]/T[4]:[WRED] 1755072/1755072 Q[2]/T[5]:[WRED] 1755072/1755072 Q[2]/T[6]:[WRED] 1755072/1755072 Q[2]/T[7]:[WRED] 1755072/1755072 Q[2]/T[8]:[WRED] 1755072/1755072 Q[3]/T[1]:[WRED] 1755072/1755072 Q[3]/T[2]:[WRED] 1755072/1755072 Q[3]/T[3]:[WRED] 1755072/1755072 Q[3]/T[4]:[WRED] 1755072/1755072 Q[3]/T[5]:[WRED] 1755072/1755072 Q[3]/T[6]:[WRED] 1755072/1755072 Q[3]/T[7]:[WRED] 1755072/1755072 Q[3]/T[8]:[WRED] 1755072/1755072 Q[4]/T[1]:[WRED] 1755072/1755072 Q[4]/T[2]:[WRED] 1755072/1755072 Q[4]/T[3]:[WRED] 1755072/1755072 Q[4]/T[4]:[WRED] 1755072/1755072 Q[4]/T[5]:[WRED] 1755072/1755072 Q[4]/T[6]:[WRED] 1755072/1755072 Q[4]/T[7]:[WRED] 1755072/1755072 Q[4]/T[8]:[WRED] 1755072/1755072 Q[5]/T[1]:[WRED] 1755072/1755072 Q[5]/T[2]:[WRED] 1755072/1755072 Q[5]/T[3]:[WRED] 1755072/1755072 Q[5]/T[4]:[WRED] 1755072/1755072 Q[5]/T[5]:[WRED] 1755072/1755072 Q[5]/T[6]:[WRED] 1755072/1755072 Q[5]/T[7]:[WRED] 1755072/1755072 Q[5]/T[8]:[WRED] 1755072/1755072 Q[6]/T[1]:[WRED] 1755072/1755072 Q[6]/T[2]:[WRED] 1755072/1755072 Q[6]/T[3]:[WRED] 1755072/1755072 Q[6]/T[4]:[WRED] 1755072/1755072 Q[6]/T[5]:[WRED] 1755072/1755072 Q[6]/T[6]:[WRED] 1755072/1755072 Q[6]/T[7]:[WRED] 1755072/1755072 Q[6]/T[8]:[WRED] 1755072/1755072 Q[7]/T[1]:[WRED] 1755072/1755072 Q[7]/T[2]:[WRED] 1755072/1755072 Q[7]/T[3]:[WRED] 1755072/1755072 Q[7]/T[4]:[WRED] 1755072/1755072 Q[7]/T[5]:[WRED] 1755072/1755072 Q[7]/T[6]:[WRED] 1755072/1755072 Q[7]/T[7]:[WRED] 1755072/1755072 Q[7]/T[8]:[WRED] 1755072/1755072 * TD/WRED RX: Q[1]/T[1]:[TD] 2064768 Q[1]/T[2]:[TD] 2064768 Q[1]/T[3]:[TD] 2064768 Q[1]/T[4]:[TD] 2064768 Q[1]/T[5]:[TD] 2064768 Q[1]/T[6]:[TD] 2064768 Q[1]/T[7]:[TD] 2064768 Q[1]/T[8]:[TD] 2064768
This is the same configuration again but for the 10G ports on a RSP720-3CXL-10GE which has 2q4t WRR ingress and 1p3q4t egress (because the Gigabit ports are enabled, otherwise it would be 1p3q4t rx / 1p7q4t tx):
int range Gi6/1 - 3 mls qos trust cos exit int range te6/4 - 5 mls qos trust cos rcv-queue cos-map 1 1 0 rcv-queue cos-map 1 2 5 rcv-queue cos-map 1 3 6 rcv-queue cos-map 1 4 7 rcv-queue cos-map 2 1 1 rcv-queue cos-map 2 2 2 rcv-queue cos-map 2 3 3 rcv-queue cos-map 2 4 4 wrr-queue cos-map 1 1 0 wrr-queue cos-map 2 1 1 wrr-queue cos-map 2 2 2 wrr-queue cos-map 2 3 3 wrr-queue cos-map 2 4 4 wrr-queue cos-map 3 1 6 7 ! priority-queue cos-map 1 5 ! This is not supported so by not configuring ! cos 5 anywhere else, it falls into the priority queue
! UPDATE: Due to BudID CSCuw40966 this command is supported, to place other CoS
! values into the priorty queue, but it requires IOS 15.4(3)S2 or newer
exit interface range Te6/4 - 5 rcv-queue threshold 1 100 100 100 100 rcv-queue threshold 2 100 100 100 100 rcv-queue bandwidth 255 255 rcv-queue queue-limit 100 100 rcv-queue random-detect 1 rcv-queue random-detect 2 rcv-queue random-detect min-threshold 1 100 100 100 100 rcv-queue random-detect min-threshold 2 100 100 100 100 rcv-queue random-detect max-threshold 1 100 100 100 100 rcv-queue random-detect max-threshold 2 100 100 100 100 wrr-queue bandwidth 255 255 255 wrr-queue queue-limit 100 100 100 ! priority-queue queue-limit 100 ! Not supported wrr-queue random-detect 1 wrr-queue random-detect 2 wrr-queue random-detect 3 wrr-queue random-detect min-threshold 1 100 100 100 100 wrr-queue random-detect min-threshold 2 100 100 100 100 wrr-queue random-detect min-threshold 3 100 100 100 100 wrr-queue random-detect max-threshold 1 100 100 100 100 wrr-queue random-detect max-threshold 2 100 100 100 100 wrr-queue random-detect max-threshold 3 100 100 100 100 exit
These are a list of errors encountered during testing
! WS-X6748-GE-TX - 12 ports per ASIC interface gi1/1 rcv-queue cos-map 1 1 0 Propagating cos-map configuration to: Gi1/1 Gi1/2 Gi1/3 Gi1/4 Gi1/5 Gi1/6 Gi1/7 Gi1/8 Gi1/9 Gi1/10 Gi1/11 Gi1/12 ! If those ports aren't already in CoS trust the following error is displaid Warning: rcv cosmap will not be applied in hardware. To modify rcv cosmap in hardware, all of the interfaces below must be put into 'trust cos' state: Gi1/1 Gi1/2 Gi1/3 Gi1/4 Gi1/5 Gi1/6 Gi1/7 Gi1/8 Gi1/9 Gi1/10 Gi1/11 Gi1/12 wrr-queue cos-map 1 1 0 Propagating cos-map configuration to: Gi1/1 Gi1/2 Gi1/3 Gi1/4 Gi1/5 Gi1/6 Gi1/7 Gi1/8 Gi1/9 Gi1/10 Gi1/11 Gi1/12 ! WS-X6748-SFP - 12 ports per ASIX rcv-queue cos-map 1 1 0 Propagating cos-map configuration to: Gi2/1 Gi2/3 Gi2/5 Gi2/7 Gi2/9 Gi2/11 Gi2/13 Gi2/15 Gi2/17 Gi2/19 Gi2/21 Gi2/23 ! WS-X6704-10GE - ASIC per port so trust state per port interface te3/2 rcv-queue cos-map x y z Warning: rcv cosmap will not be applied in hardware. To modify rcv cosmap in hardware, all of the interfaces below must be put into 'trust cos' state: Te3/2 rcv-queue threshold 1 100 100 100 100 100 100 100 100 Warning: rcv thresholds will not be applied in hardware. To modify rcv thresholds in hardware, all of the interfaces below must be put into 'trust cos' state: Te3/4 wrr-queue bandwidth percent 100 100 100 100 100 100 100 QoS:TenGigabitEthernet3/1 - Transmit: sum of all bandwidth percentages should be equal to 100 QoS:TenGigabitEthernet3/2 - Transmit: sum of all bandwidth percentages should be equal to 100 QoS:TenGigabitEthernet3/3 - Transmit: sum of all bandwidth percentages should be equal to 100 QoS:TenGigabitEthernet3/4 - Transmit: sum of all bandwidth percentages should be equal to 100 ! RSP720-3CXL-10GE - interface te6/5 rcv-queue cos-map x y z Warning: rcv cosmap will not be applied in hardware. To modify rcv cosmap in hardware, all of the interfaces below must be put into 'trust cos' state: Gi6/1 Gi6/2 Gi6/3 Te6/4 Te6/5 wrr-queue cos-map x y z Propagating cos-map configuration to: Gi6/1 Gi6/2 Gi6/3 Te6/4 Te6/5 rcv-queue bandwidth 255 255 Warning: rcv bandwidth will not be applied in hardware. To modify rcv bandwidth in hardware, all of the interfaces below must be put into 'trust cos' state: Gi6/1 Gi6/2 Gi6/3 Te6/4 Te6/5
Commands one can check queues and behaviour with:
show mls qos ip Gi2/17 show mls qos queuing int Gi2/17 show mls qos queuing interface Gi2/17 | b dropped show counters interface Gi2/17 remote command switch show qm port 2 17 show interfaces | i Ethernet|output drop
Previous page: 6500/7600 100Mbps Police
Next page: 6500/7600 QoS on LAN Cards (WS-X69xx & SUP2T)