cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2416
Views
5
Helpful
9
Replies

QoS in Cisco 3850. Is it not working?

Argamak
Level 1
Level 1

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?

1 Accepted Solution

Accepted Solutions


@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

View solution in original post

9 Replies 9

balaji.bandi
Hall of Fame
Hall of Fame

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

BB

***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help


@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

 

 

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.

 

BB

***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help


@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

Nice that we found it to be a bug and the upgrade was fixed the issue ...nice work.

 

BB

***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help

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.

Joseph W. Doherty
Hall of Fame
Hall of Fame

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.

Leo Laohoo
Hall of Fame
Hall of Fame
qos queue-softmax-multiplier 1200

Make sure the switch is running the correct firmware version to avoid hitting CSCvd38417 and CSCvs20038.

 

Eric R.
Cisco Employee
Cisco Employee

@Argamak

 

There are some restrictions in regards to the classification counters:

  • Classification counters count packets instead of bytes.
  • Only QoS configurations with marking or policing will trigger the classification counter.
  • The classification counter is not port-based which means that the classification counter is aggregating all packets belonging to the same class of the same policy that attach to different interfaces.
  • As long as there is policing or marking action in the policy, the class-default will have classification counters.
  • When there are multiple match statements in a class, then the classification counter only shows the traffic counter for one of the match statements.

 

Additional info and workaround: 

 

  • 3) If you define only 1 class-default, in order to tweak the buffer, all the traffic falls under the single queue (including control packets). Be advised that when all traffic is put in one queue, there is no classification between control and data traffic and during time of congestion, control traffic could get dropped. So, it is recommended to create at least 1 other class for control traffic. CPU generated control-packets will always go to the first priority queue even if not matched in the class-map. If there is no priority queue configured, it would go to the first queue of the interface, which is queue-0.
  • 4) Prior to CSCuu14019, interfaces won't display "output drop" counters. you have to execute "show platform QoS queue stats" output to check for drops." 

 

Last thing: move to a newer code. That train is plagued with defects and anomalies.

All I did was turn it off and back on. Now here I am.
Review Cisco Networking for a $25 gift card