简介
本文的目的是收集在Catalyst 3850系列交换机上配置QoS功能时所收到的常见错误消息。这些示例是使用IOS XE版本03.03.05SE完成的。
先决条件
了解Catalyst 3850交换机上的模块化服务质量(QoS)命令行界面(CLI)(MQC)配置。
要求
本文档没有任何特定的要求。
使用的组件
本文中的信息基于 Cisco Catalyst 3850 系列交换机。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备都以默认配置启动。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
类映射
%不支持空类
示例:
class-map match-any realtime
class-map match-any priority
class-map match-any missioncritical
class-map match-any transactional
class-map match-any scavenger
或者
policy-map Edge-QoS
class realtime
class priority
class missioncritical
class transactional
class scavenger
class class-default
3850(config-pmap-c)#interface Gi 1/0/1
3850(config-if)#service-policy input Edge-QoS
3850(config-if)#
*Mar 11 09:12:59.897: Empty class unsupported
限制:
解决方法:
- 在class-default下使用表映射并删除空类
- CSCun54503在IOS和FED中删除了空类检查。已在IOS XE 3.6.1及更高版本中修复。
% Range命令因在GigabitEthernet1/0/1上失败而终止
示例:
int range Gi1/0/1 - 24
service-policy input queueing
% Range command terminated because it failed on GigabitEthernet1/0/1
限制:无
解决方法:
- 配置QoS时出错,请尝试在单个接口上,然后查看看到什么错误。
- 入口上不允许输入队列
排队
%仅支持dscp/cos/qos-group/precedence based分类的排队操作!!!
示例:
access-list 150 permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255
class-map match-any san_traffic
match access-group 150
class-map match-any non-client-nrt-class
match non-client-nrt
!
policy-map port_child_policy
class non-client-nrt-class
bandwidth remaining ratio 10
class class-default
shape average percent 10
service-policy port_child_policy
限制:与错误消息相同
解决方法:
— 提供了两个选项,用于创建输入策略以将DSCP标记设置为与ACL匹配的入口流量,或
— 使用策略速率功能而不是排队。
% queue-limit仅在此平台上以百分比支持
示例:
class-map queue
queue-limit cos 1 2 3 4
限制:
- 每条queue-limit语句只有一个有效的COS值,第一个值后的参数应为百分比值。
解决方法:
- 将cos值分发到多条queue-limit语句上。
class-map queue5
queue-limit cos 1 percent 10
queue-limit cos 2 percent 20
queue-limit cos 3 percent 30
queue-limit cos 4 percent 40
%策略名称队列中的类顺序与已安装的策略不一致
示例:
!Creating class-maps queue1 and queue2
class-map queue1
match cos 5
match dscp 46
class-map queue2
match cos 2 4 3 6
match dscp 16 18 20 22 26 32 34 36
!Assigning queueing features to queue1 and queue2
policy-map queueing
class queue1
shape average percent 70
class queue2
bandwidth remaining percent 10
!Applying the policy-map queueing to interface Gi1/0/1
interface gi1/0/1
service policy output queueing
!Creating class-maps queue5 and queue6
class-map queue5
match cos 1
match dscp 8 10 12 14
class-map queue6
match cos 5
match dscp 46
!Assigning queueing features to queue5 and queue6
policy-map queueing2
class queue5
shape average percent 70
class queue2
bandwidth remaining percent 10
!Applying the policy-map queueing to interface Gi1/0/2
interface gi1/0/2
service policy output queueing2
% Order of classes in policy name queueing2 is not consistent with installed policy
限制:
- 所有基于有线队列的策略的分类顺序应在所有有线上游端口(万兆以太网)上相同,所有下行有线端口(千兆以太网)的分类顺序应相同。
解决方法:
- 使用与第一个配置的基于排队的策略映射相同的类顺序。如果在10GE模块的任何接口上应用策略映射,则不显示此消息
%一个类中只允许一个队列限制类型。
示例:
policy-map port-queue
class dscp-1-2-3
bandwidth percent 20
queue-limit dscp 1 percent 80
queue-limit dscp 2 percent 90
queue-limit cos 3 percent 100 <<<
解决方法:
- 配置两个不同的类,一个使用DSCP进行队列限制,另一个使用COS进行队列限制
整形
此接口不支持% shape average命令
示例:
class-map queue5
match cos 1
match dscp 8 10 12 14
class-map queue6
match cos 5
match dscp 46
policy-map queueing2
class queue5
shape average percent 70
class queue2
bandwidth remaining percent 10
interface gi1/0/1
service policy input queueing2
限制:
解决方法:
- 无,仅允许在入口执行标记和策略操作。每个端口只有一个输入队列。
表映射
无法删除%。策略映射中使用的表映射。
示例:
3850(config-if)#auto qos voip trust
% Cannot be deleted. Tablemap being used in policy maps.
AutoQoS Error while generating commands on Gi1/0/3.
sh run
-- Output ommited
policy-map WAN-QoS
class class-default
shape average percent 20
service-policy VoIP-QoS
-- Output ommited
interface GigabitEthernet1/0/1
service-policy out WAN-QoS <- Queueing-based policy already attach to other interface in the same stream
限制:
- 所有基于有线队列的策略的分类顺序应在所有有线上游端口(10千兆以太网)上相同,所有下游有线端口(1千兆以太网)的分类顺序应相同。
- 每个有线端口每个方向仅支持一个表映射。
- 由于另一个接口上已经存在基于队列的策略映射,因此当尝试删除或添加基于队列的其他策略映射时,该映射将失败。
- 每个Bug CSCtz51125的预期行为。
解决方法:
- 删除同一流(10GE或1GE接口)中所有接口上的基于排队的旧策略映射。
- 应用新的基于排队的策略不应导致进一步的问题。
%每个目标每个方向不支持多个表映射
示例:
policy map bw-with-table
class class-default
bandwidth percent 10
set cos dscp table default
set dscp dscp table default
int gig2/0/1
service-policy output bw-with-table
限制:
- 当策略映射连接到接口时,CLI会阻止平面策略映射,但不会阻止每个CSCuc91333 03.03.00SE之前映像上的子策略。
解决方法:
%优先级功能不允许在使用表映射的策略操作中
%在与优先级功能一起使用的警察中不允许使用表映射操作
示例:
policy-map priority-rate
class priority-one
priority level 1
police cir 256000 conform-action transmit exceed-action set-dscp-transmit dscp table test
限制:
- 此平台不支持优先级队列和通过表映射设置DSCP/COS/IPP值的策略操作的组合。
解决方法:
- 尝试删除“exceed-action set-dscp-transmit”行,将其设置为丢弃操作,然后重新应用策略映射。
%仅支持使用表映射进行降级
示例:
Policy-map my-policy
class voip_signal
set dscp cs2
police cir 32000 bc 8000
conform-action transmit
exceed-action set-dscp-transmit cs3
限制:
- 当尝试通过监察器动态更改DSCP/COS/IPP值时,每当超过速率时,都需要表映射。
解决方法:
- 创建具有所需降级值的表映射,并在超过速率时将其应用到策略映射。
table-map CS2toCS3
map from 24 to 16
default copy
policy-map my-policy
class voip_signal
set dscp cs2
police cir 32000 bc 8000
conform-action transmit
exceed-action set-dscp-transmit default dscp table CS2toCS3
管制
不支持%1rate-3color监察器
示例:
policy-map CiscoPhone-Input-Policy
Class Voip-Data-Class
set ip dscp ef
police cir 256000 bc 16000 be 16000
conform-action transmit
exceed-action set-dscp-transmit dscp table policed-dscp
violate-action drop
限制:
解决方法:
- 配置PIR值以使用2速率3色监察器或删除“be”值和违反操作以配置1速率2色监察器。
policy-map CiscoPhone-Input-Policy
Class Voip-Data-Class
set ip dscp ef
police cir 256000 bc 16000 pir 512000 be 16000
conform-action transmit
exceed-action set-dscp-transmit dscp table policed-dscp
violate-action drop