cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
964
Views
1
Helpful
17
Replies

C9200 Shaper Command Failing

xzevallos
Level 1
Level 1

I have a site with an ISP router and a C9200 switch attached to it.  The switch connects to various edge devices, such as FWs and SDWAN devices.  I want to limit the download bandwidth to each device, so that one device does not consume the ISP bandwidth for traffic from the other devices.  For this, I configured egress shaper commands on each port to the devices.  As an example, below is the config for the port toward the SDWAN device:

interface GigabitEthernet1/0/3

 switchport access vlan 510

 spanning-tree portfast

 service-policy output Shape-VERSA-ISP-1

policy-map Shape-VERSA-ISP-1

 class class-default

  shape average 350000000

However, we are having a lot of packet drops on the traffic egressing this port toward the device, and users are experiencing intermittent application slowness.  According to our OSS system, the bandwidth on this port is far below the 350 Mbps shaper limit.  We are experiencing the same situation for all the other edge devices.  See the output below:

sh policy-map inter gi 1/0/3 output

GigabitEthernet1/0/3

  Service-policy output: Shape-VERSA-ISP-1

    Class-map: class-default (match-any) 

      0 packets

      Match: any

      Queueing

      (total drops) 34657812

      (bytes output) 19699360753

      shape (average) cir 350000000, bc 1400000, be 1400000

      target shape rate 350000000

What am I doing wrong? 

   

17 Replies 17

policy-map test
 class class-default
  shape average 10000000
  random-detect

From your version IOS documentation:

"For HQoS, WRED is allowed only on the child policy and not on the parent policy. You can have the shaping configured on the parent policy and WRED on the child."

Cisco example:

policy-map PWRED-CHILD
 class CWRED
    bandwidth percent 10
    random-detect dscp-based
    random-detect dscp 1 percent 10 20
    random-detect dscp 10 percent 20 30
 
policy-map PWRED-PARENT
  class class-default
  shape average percent 10
  service-policy PWRED-CHILD

Possibly, this is what @Cristian Matei meant by "First thing you've got to fix your QoS policy . . ."

I.e. WRED shouldn't be in parent policy.

Anyway, I wouldn't use that particular child policy.  What I suggested earlier (across a couple of replies) would be better, I believe.

I.e.

policy-map Shape-VERSA-ISP-1-RED
 class TCP
  bandwidth percent #
  random-detect precedence-based
  random-detect precedence 0 percent 50 100 !for intial trial - adjust min based on results
 class class-default
  bandwidth percent #

xzevallos
Level 1
Level 1

Hello all,

I was told by another engineer to add the command “qos queue-softmax-multiplier 1200” before trying WRED. This command increases the soft buffer space to accommodate micro-bursts.  It worked!

Thank you all for your valuable help.


@xzevallos wrote:

Hello all,

I was told by another engineer to add the command “qos queue-softmax-multiplier 1200” before trying WRED. This command increases the soft buffer space to accommodate micro-bursts.  It worked!

Thank you all for your valuable help.


Interesting "solution".

Using that command is often the first thing to try to mitigate egress drops.  However, lack of buffer drops is usually when the interface is overwhelmed with traffic, but as you're using a shaper, the shaper should preclude the interface from being overwhelmed.  That said, certainly the shaper's buffers can be overwhelmed (not uncommon with a shaper), but I'm surprised that changing the interface buffer limits also applies to a shaper's buffers.

Review Cisco Networking for a $25 gift card