10-25-2024 11:19 AM
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?
Solved! Go to Solution.
10-28-2024 10:02 AM
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 #
11-07-2024 07:09 AM
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.
11-07-2024 09:40 AM
@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.
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