06-04-2021 01:56 AM - edited 06-04-2021 03:03 AM
I have little experience with basic QoS configuration on Cisco routers within LLQ, i.e. as part of a class-based queuing mechanism with a priority queue. Setting up qos on routers is clear to me, approximately. Now there is a task to configure the same on the Cisco 3850 switch (03.07.02E release sofware). Then I ran into a misunderstanding. In addition to the fact that some functions are not supported, for example WRED, QoS itself does not work, as it seems to me. I do everything exactly the same as I would do on a router, i.e .:
1. Сreate classmaps
class-map match-any voice match ip dscp ef match ip precedence 5 class-map match-any signaling match ip dscp cs3 class-map match-any video match ip dscp af41 match ip dscp cs4
2. I attach the classes to the policy map:
policy-map TEST class voice priority level 1 police cir 3000000 class signaling bandwidth 100 class video bandwidth 2000 class class-default
3. I create another policy map to configure the shaper and attach the previous policy map:
policy-map ADDRESS class class-default shape average 20000000 service-policy TEST
4. I attach the hierarchical ADDRESS policy map to the output interface.
interface GigabitEthernet1/0/24 description to_address no switchport ip address 192.168.1.1 255.255.255.252 service-policy output ADDRESS end
Then I see a completely different result than I would have if I had configured the router.
#show policy-map interface gi 1/0/24 GigabitEthernet1/0/24 Service-policy output: ADDRESS Class-map: class-default (match-any) 1892929018 packets Match: any Queueing (total drops) 16196833582 (bytes output) 1383591249435 shape (average) cir 20000000, bc 80000, be 80000 target shape rate 20000000 Service-policy : TEST queue stats for all priority classes: Queueing priority level 1 (total drops) 0 (bytes output) 24816692615 Class-map: voice (match-any) 54888862 packets Match: ip dscp ef (46) 0 packets, 0 bytes 5 minute rate 0 bps Match: ip precedence 5 0 packets, 0 bytes 5 minute rate 0 bps Priority: Strict, Priority Level: 1 police: cir 3000000 bps, bc 93750 bytes conformed 11918613868 bytes; actions: transmit exceeded 0 bytes; actions: drop conformed 88000 bps, exceeded 0000 bps Class-map: signaling (match-any) 1593284 packets Match: ip dscp cs3 (24) 0 packets, 0 bytes 5 minute rate 0 bps Queueing (total drops) 78801046 (bytes output) 29057380136 bandwidth 100 kbps Class-map: video (match-any) 11325738 packets Match: ip dscp cs4 (32) 0 packets, 0 bytes 5 minute rate 0 bps Match: ip dscp af41 (34) 0 packets, 0 bytes 5 minute rate 0 bps Queueing (total drops) 0 (bytes output) 11575744579 bandwidth 2000 kbps Class-map: class-default (match-any) 1825121134 packets Match: any (total drops) 16118032536 (bytes output) 1318141549597
I see a lot of packates hitting their classes (highlighted in blue), but I see zeros in the match fields (highlighted in red). Why is this happening? With a similar router configuration, this would not have happened. What's my mistake?
Solved! Go to Solution.
06-09-2021 11:35 AM
@balaji.bandi wrote:As you rightly said, this may be bug, since we see the hits but its not reflecting to stats. worth upgrade to any new stable IOS XE and test it.
I updated the firmware from 03.07.02E to 16.12.05b. Cisco has simply removed the fields with zeros from the output. ))))
sh policy-map int gi 1/0/21 GigabitEthernet1/0/21 Service-policy output: ADDRESS Class-map: class-default (match-any) 4742680 packets Match: any Queueing (total drops) 66084207 (bytes output) 3272017209 shape (average) cir 20000000, bc 80000, be 80000 target shape rate 20000000 Service-policy : TEST queue stats for all priority classes: Queueing priority level 1 (total drops) 0 (bytes output) 5909319 Class-map: voice (match-any) 22180 packets Match: ip dscp ef (46) Match: ip precedence 5 Priority: Strict, Priority Level: 1 police: cir 3000000 bps, bc 93750 bytes conformed 4831560 bytes; actions: transmit exceeded 0 bytes; actions: drop conformed 5000 bps, exceeded 0000 bps Class-map: signaling (match-any) 4615 packets Match: ip dscp cs3 (24) Queueing (total drops) 0 (bytes output) 1531299 bandwidth 100 kbps Class-map: video (match-any) 0 packets Match: ip dscp cs4 (32) Match: ip dscp af41 (34) Queueing (total drops) 0 (bytes output) 0 bandwidth 2000 kbps Class-map: class-default (match-any) 4715885 packets Match: any (total drops) 66084207 (bytes output) 3264576591
06-04-2021 07:16 AM
high level I do not see issue other than small syntax i use default class as below :
class class−default
set dscp default
Also post below output :
show platform qos queue config gigabitEthernet x/x
06-04-2021 08:39 AM
@balaji.bandi wrote:class class−default
set dscp default
I don't really understand why you are resetting the dscp value, especially at the 2 layer. In my case, the switch is on a separate site and replaces the router that has failed. Some 2 Layer switches are connected to the 3850, into which some ip-phones and other equipment, such as VG 310, etc. are connected. QoS tuning is performed due to the low bandwidth of the service-provider channel. We have other sites. Maybe the QoS function works and I don't have to look at these zeros? Maybe it's something like a bug or a chip?
Now, we have connected the service provider's channel to a different port - gi 1/0/21. The qos setting is done on it now. VG-310 is connected to port 24. IP-phone is connected to port 22.
show platform qos queue config gigabitEthernet x/x
#show platform qos queue config gi 1/0/21 DATA Port:25 GPN:21 AFD:Disabled QoSMap:1 HW Queues: 200 - 207 DrainFast:Disabled PortSoftStart:2 - 450 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 6 75 8 300 7 200 0 0 4 600 1 1 4 0 8 300 7 200 3 75 4 600 2 1 4 0 8 300 7 200 3 75 4 600 3 1 4 0 8 300 7 200 3 75 4 600 4 1 4 0 5 0 5 0 0 0 4 600 5 1 4 0 5 0 5 0 0 0 4 600 6 1 4 0 5 0 5 0 0 0 4 600 7 1 4 0 5 0 5 0 0 0 4 600 Priority Shaped/shared weight shaping_step -------- ------------ ------ ------------ 0 1 Shaped 65535 196 1 7 Shared 66 0 2 7 Shared 50 0 3 7 Shared 66 0 4 0 Shared 10000 208 5 0 Shared 10000 0 6 0 Shared 10000 224 7 0 Shared 10000 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------ ------ ------ ------ ------ ------ ------ 0 0 298 0 0 333 0 0 375 0 1 0 239 0 0 267 0 0 300 0 2 0 239 0 0 267 0 0 300 0 3 0 239 0 0 267 0 0 300 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
#show platform qos queue config gi 1/0/24 DATA Port:26 GPN:24 AFD:Disabled QoSMap:0 HW Queues: 208 - 215 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440 3 1 4 0 5 0 5 0 0 0 3 1440 4 1 4 0 5 0 5 0 0 0 3 1440 5 1 4 0 5 0 5 0 0 0 3 1440 6 1 4 0 5 0 5 0 0 0 3 1440 7 1 4 0 5 0 5 0 0 0 3 1440 Priority Shaped/shared weight shaping_step -------- ------------ ------ ------------ 0 0 Shared 50 0 1 0 Shared 75 0 2 0 Shared 10000 60 3 0 Shared 10000 0 4 0 Shared 10000 120 5 0 Shared 10000 0 6 0 Shared 10000 224 7 0 Shared 10000 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------ ------ ------ ------ ------ ------ ------ 0 0 478 0 0 534 0 0 600 0 1 0 573 0 0 641 0 0 720 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
#show platform qos queue config gi 1/0/22 DATA Port:24 GPN:22 AFD:Disabled QoSMap:0 HW Queues: 192 - 199 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440 3 1 4 0 5 0 5 0 0 0 3 1440 4 1 4 0 5 0 5 0 0 0 3 1440 5 1 4 0 5 0 5 0 0 0 3 1440 6 1 4 0 5 0 5 0 0 0 3 1440 7 1 4 0 5 0 5 0 0 0 3 1440 Priority Shaped/shared weight shaping_step -------- ------------ ------ ------------ 0 0 Shared 50 0 1 0 Shared 75 0 2 0 Shared 10000 56 3 0 Shared 10000 0 4 0 Shared 10000 120 5 0 Shared 10000 0 6 0 Shared 10000 224 7 0 Shared 10000 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------ ------ ------ ------ ------ ------ ------ 0 0 478 0 0 534 0 0 600 0 1 0 573 0 0 641 0 0 720 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
06-05-2021 01:27 AM
add this command to increase que softmax,
qos queue-softmax-multiplier 1200
As you rightly said, this may be bug, since we see the hits but its not reflecting to stats. worth upgrade to any new stable IOS XE and test it.
06-09-2021 11:35 AM
@balaji.bandi wrote:As you rightly said, this may be bug, since we see the hits but its not reflecting to stats. worth upgrade to any new stable IOS XE and test it.
I updated the firmware from 03.07.02E to 16.12.05b. Cisco has simply removed the fields with zeros from the output. ))))
sh policy-map int gi 1/0/21 GigabitEthernet1/0/21 Service-policy output: ADDRESS Class-map: class-default (match-any) 4742680 packets Match: any Queueing (total drops) 66084207 (bytes output) 3272017209 shape (average) cir 20000000, bc 80000, be 80000 target shape rate 20000000 Service-policy : TEST queue stats for all priority classes: Queueing priority level 1 (total drops) 0 (bytes output) 5909319 Class-map: voice (match-any) 22180 packets Match: ip dscp ef (46) Match: ip precedence 5 Priority: Strict, Priority Level: 1 police: cir 3000000 bps, bc 93750 bytes conformed 4831560 bytes; actions: transmit exceeded 0 bytes; actions: drop conformed 5000 bps, exceeded 0000 bps Class-map: signaling (match-any) 4615 packets Match: ip dscp cs3 (24) Queueing (total drops) 0 (bytes output) 1531299 bandwidth 100 kbps Class-map: video (match-any) 0 packets Match: ip dscp cs4 (32) Match: ip dscp af41 (34) Queueing (total drops) 0 (bytes output) 0 bandwidth 2000 kbps Class-map: class-default (match-any) 4715885 packets Match: any (total drops) 66084207 (bytes output) 3264576591
06-09-2021 01:35 PM
Nice that we found it to be a bug and the upgrade was fixed the issue ...nice work.
06-09-2021 03:08 PM
Yup!
As I earlier noted:
My guess would be a possible bug in the stats. (Traditionally, often this class of Cisco switches actually support QoS, as documented, while their stat displays are incorrect.)
If you have access to IOS images for this platform, try a later release, especially a MD release and/or a recommended release.
I've noticed, over the years, that Cisco's QA seems to be better for critical functions needed for the platform to process traffic correctly. Non-critical features, seem to be more likely to have bugs. Further, higher end platforms, like the chassis platforms, also seem to work correctly a bit more often than pizza box platforms. The latter, might either be due to the chassis platforms, generally being more expensive, get a bit more QA and/or such equipment is often maintained by more experienced engineers, i.e. those more likely for issues to be noted and reported.
Also, features less likely to used, by many, such as QoS, are more likely to have bugs, as such features are not "wrung out" as much.
06-04-2021 02:50 PM
My guess would be a possible bug in the stats. (Traditionally, often this class of Cisco switches actually support QoS, as documented, while their stat displays are incorrect.)
If you have access to IOS images for this platform, try a later release, especially a MD release and/or a recommended release.
Oh, and the reason the QoS support is less than what's found on a router, small routers aren't limited by hardware features nearly as much a switches.
06-04-2021 04:34 PM
qos queue-softmax-multiplier 1200
Make sure the switch is running the correct firmware version to avoid hitting CSCvd38417 and CSCvs20038.
06-04-2021 05:57 PM - edited 06-04-2021 06:02 PM
There are some restrictions in regards to the classification counters:
Additional info and workaround:
Last thing: move to a newer code. That train is plagued with defects and anomalies.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide