10-21-2015 11:16 AM - edited 03-01-2019 05:06 PM
Topology:
Port-Channel is configured between two ASR1k routers. There are multiple sub-interfaces on the port-channel with various inbound and outbound service-policies.
Figure 1 shows the topology:
Platform: ASR1002-X
Software: asr1002x-universalk9.03.07.03.S.152-4.S3.SPA.bin
Problem Description:
QoS policy on port-channel sub-interfaces shows in suspended state. Neither the inbound nor outbound policies are working.
- The QoS policy on other physical interfaces are working fine without any problem but only the policy-map on port-channel sub-interfaces are in suspended state
Logs Showing Problem
R2#sh run int po2.110 ! interface Port-channel2.110 encapsulation dot1Q 110 ip address 10.222.2.117 255.255.255.252 service-policy input Test-In service-policy output Test-Out end R2# R2#show policy-map int po2.110 Port-channel2.110 Service-policy input: Test-In Service policy Test-In is in suspended mode Service-policy output: Test-Out Service policy Test-Out is in suspended mode
Root Cause
The problem is seen because the default load-balancing mode on ASR1k router is set to flow-based but in order for Egress or Ingress policy on port-channel sub-interface, the load-balancing mode has to be vlan-manual.
This can be done by configuring port-channel load-balancing vlan-manual in global configuration mode or load-balancing vlan under port-channel interface configuration mode. This will remove the QoS policies from suspended state and get it working.
Working Example
R2(config)#int port-channel 2 R2(config-if)#load-balancing vlan R2(config-if)#end R2#show policy-map int po2.110 Port-channel2.110 Service-policy input: Test-In Class-map: class-default (match-any) 0 packets, 0 bytes 30 second offered rate 0000 bps, drop rate 0000 bps Match: any police: cir 64000 bps, bc 12000 bytes, be 12000 bytes conformed 0 packets, 0 bytes; actions: set-mpls-exp-imposition-transmit 3 exceeded 0 packets, 0 bytes; actions: drop violated 0 packets, 0 bytes; actions: drop conformed 0000 bps, exceeded 0000 bps, violated 0000 bps Service-policy output: Test-Out Class-map: class-default (match-any) 0 packets, 0 bytes
Reference
CCO Documentation:
4451-X ROUTER
I still am seeing suspended mode with both configs applied
RUSREDRWAC4401#show run | i load
port-channel load-balancing vlan-manual
interface Port-channel1
no ip address
no negotiation auto
load-balancing vlan
end
RUSREDRWAC4401#
Class Map match-all CM_POS (id 20)
Match any
Policy Map PM_POS
Class CM_POS
set dscp ef
interface Port-channel1.102
description POS_Infra_4401
encapsulation dot1Q 102
ip address 10.10.102.1 255.255.255.252
ip nat inside
zone-member security POS
ip ospf network point-to-point
service-policy input PM_POS
end
RUSREDRWAC4401#show policy-map interface port1.102
Port-channel1.102
Service-policy input: PM_POS
Service policy PM_POS is in suspended mode
RUSREDRWAC4401#
Another Solution for the Suspended QOS with Port-Channel with Sub-interfaces without using the "load-balancing vlan".
you can use the Aggregate GEC QOS (which will provide Flow based Etherchannel QOS), Below is a sample Configurations:
platform qos port-channel-aggregate 1 ==> issue this command before creating Port-Channel 1
Then create the Port-channel "1" & apply the QOS under Port-channel Sub-interface..
The "Aggregate GEC QOS" Feature is supported from in XE 3.16.3 & later..
Hope this could help,
Islam
Does this cause traffic to NOT LOAD BALANCE between the Ether Channel members?
I recently made this change from FLOW to VLAN based and it stopped splitting traffic between the 2 links and just started taking ALL the traffic on 1 of the ether channel members.
Any idea ?
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: