목차

소개

NCS5500의 QoS 구현

문제 해결 지침

인그레스 QoS

이그레스 QoS

FMQ 모니터링

수집할 추가 명령

제한 사항/주의 사항

마킹

대역폭

인그레스 QoS

이그레스 QoS

본사

커밋 후 지원되지 않는 구성 경고

소개

이 문서에서는 Cisco NCS(Network Convergence System) 5500 시리즈의 QoS 문제 해결 설명서에 대해 설명합니다.

NCS5500의 QoS 구현

- NCS5500의 QoS는 NPU의 인그레스(ingress) 및 이그레스(egress) TM에서 수행됩니다. NCS5500은 이그레스(egress) 큐잉이 신용 요청 및 권한 부여 체계를 기반으로 하는 가상 출력 대기열 아키텍처를 구현합니다.

- 실제 버퍼링은 인그레스 전달 디바이스에서 발생합니다.이그레스 포워딩 디바이스는 크레딧을 요청하는 인그레스 포워딩 디바이스에 크레딧을 부여하여 전송할 수 있는 트래픽의 양을 결정합니다.

- 모든 이그레스 인터페이스 또는 스케줄링 요소의 모든 대기열은 해당 인터페이스로 패킷을 전송하려는 모든 인그레스 디바이스에 복제됩니다.이러한 대기열을 VOQ(Virtual Output Queues)라고 합니다.

- 인터페이스 또는 스케줄링 요소당 효과적으로 8개의 대기열이 지원됩니다. 이그레스 시 스케줄링 요소는 우선 순위, 최소, 최대 및 초과를 지원합니다.스케줄링은 이러한 속성을 기반으로 크레딧을 제공합니다.

- 따라서 인터페이스의 스케줄링 특성은 이그레스(egress)에서 구성되고 혼잡 제어 및 혼잡 방지 값은 인그레스(ingress)에서 구성됩니다.

- IRPP가 지정된 대상/출력 포트에 대해 패킷을 전송하기로 결정하면 패킷이 특정 VOQ에 들어갑니다.  패킷을 대기열에 넣는 동안 패킷을 기반으로 대기열에 넣을 수 있는지 확인합니다.

- 인그레스 인터페이스의 VOQ의 버퍼 점유 및 VSQ(Virtual Statistics Queue) 설정에서VSQ는 트래픽 클래스를 기반으로 하는 버퍼 관리 체계입니다.

- 버퍼가 초과되면 패킷이 삭제되거나 해당 사용자 컨피그레이션에 따라 흐름 제어가 인그레스 포트로 전송됩니다.기본적으로 패킷은 enqueue 검사에 실패할 경우 삭제됩니다.

- NCS5500의 LC에는 별도의 대기열 ASIC가 없습니다.이 플랫폼은 일정에 따라 가상 출력 기반 큐잉을 구현합니다.따라서 인그레스 큐잉의 개념이 없습니다.표시 작업 및 폴리싱만 지원하는 인그레스 서비스 정책.

- NCS5500은 마킹 및 큐잉을 위한 다른 개념을 구현합니다.qos-group 및 traffic-class를 기반으로 합니다.이그레스(egress)에서 이 두 매개변수는 설명 트래픽과 일치하는 것으로 대기열을 선택합니다.

다양한 명령에 대한 제한 사항이 있습니다.자세한 내용은 을 참조하십시오.

문제 해결 지침

인그레스 QoS

가장 유용하고 중요한 명령 중 하나는 show qos interface <interface> input|output입니다.

적용된 서비스 정책에 대한 유용한 정보를 제공합니다.구성된 매개변수 및 변환된 매개변수(폴리서, 쉐이퍼, 테일 드롭 임계값 등의 경우), 가상 대기열 ID, 어카운팅 유형 등을 표시합니다.

인그레스(ingress)에 대한 간단한 정책으로 시작합니다.

class-map match-any i_match

match precedence ipv4 3

match mpls experimental topmost 3

end-class-map

!

policy-map ingress_marking

class i_match

set qos-group 3

set discard-class 2

!

class class-default

!

end-policy-map

!

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 input

Mon Dec 4 21:30:44.131 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138 -- input policy

NPU Id: 5

Total number of classes: 2

Interface Bandwidth: 100000000 kbps

Policy Name: ingress_marking

Accounting Type: Layer1 (Include Layer 1 encapsulation and above)

------------------------------------------------------------------------------

Level1 Class = i_match

New qos group = 3

New discard class = 2

Default Policer Bucket ID = 0x21

Default Policer Stats Handle = 0x0

Policer not configured for this class

Level1 Class = class-default

Default Policer Bucket ID = 0x20

Default Policer Stats Handle = 0x0

Policer not configured for this class

qos_ea는 LC의 HW에서 정책을 프로그래밍합니다.show feature-mgr client qos-ea 정책 요약 위치 <node>를 사용하면 LC에 구성된 정책의 개요를 볼 수 있습니다.

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Mon Dec 4 22:03:12.371 UTC

Pol-Num Flags Classes Ref-cnt In-Hash Compiled Policy Name

------- ---------- ------- ------- ------- -------- -----------

19 0x00004000 2 4 Yes Yes ingress_marking

이 명령의 자세한 보기를 보면 클래스에서 일치하는 위치를 확인할 수 있습니다.

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy policy ingress_marking location 0/0/CPU0

Mon Dec 4 22:07:53.134 UTC

Policy name: ingress_marking

Policy Number: 19

Flags: 0x4000 [DNX_FM_POL_TOS]

Class Number: 2

Reference Count: 4

In Hash: Yes

Is Compiled: Yes

Level: 0 Class Number: 0 Class Name: i_match

Match Count: 2 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:0 Match:0 proto IPV4 Flags:0x8011 [Grant]

Source IPv4 Address: 0.0.0.0 (255.255.255.255)

Destination IPv4 Address: 0.0.0.0 (255.255.255.255)

Precedence Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: ACE: 0 Class:0 Match:1 proto MPLS Flags:0x208040 [Grant]

MPLS EXP Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: Final List

ACE: 0 Class:0 Match:0 proto IPV4 Flags:0x8011 [Grant]

Source IPv4 Address: 0.0.0.0 (255.255.255.255)

Destination IPv4 Address: 0.0.0.0 (255.255.255.255)

Precedence Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: ACE: 1 Class:0 Match:1 proto MPLS Flags:0x208040 [Grant]

MPLS EXP Value: 3

UNKNOWN: UNKNOWN: UNKNOWN:

Level: 0 Class Number: 1 Class Name: class-default

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:1 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN: UNKNOWN: UNKNOWN: Final List

ACE: 2 Class:1 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN: UNKNOWN: UNKNOWN:

QOS_EA 정보는 피쳐 관리자 관점에서 표시할 수도 있습니다.먼저 요약을 표시합니다.

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea feature summary location 0/0/CPU0

Mon Dec 4 22:30:09.362 UTC

IFH NPU DIR Lookup-type ACL-ID Refcnt Feature-Name

---------- --- --- -------------------- ------ ------ ------------

0x138 5 IN IPV4_QOS 14 1 ingress_marking:0

0x138 5 IN IPV6_QOS 14 1 ingress_marking:0

0x138 5 IN MPLS_QOS 14 1 ingress_marking:0

0x138 5 IN L2_QOS 14 1 ingress_marking:0

다음 단계에서 세부 정보를 표시할 수 있습니다.

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea feature feature-name ingress_marking:0 direction ingress lookup mpls interface HundredGigE 0/0/0/35 location 0/0/CPU0

Mon Dec 4 22:31:20.588 UTC

Feature name: ingress_marking:0

Lookup Type: MPLS_QOS

Direction: IN

Reference Count: 1

NPU: 5

Interfaces Attached: HundredGigE0_0_0_35

Number of Entries: 2

Number of Verified Entries: 0

Number of ACEs: 2

ACL ID: 14

ACL ID Ref Cnt: 4

ACL ID Min Length(bits): 0

ACL ID Max Length(bits): 5

ACL ID Num Entries: 30

ACL ID Num Free Entries: 29

Compression Level: 0(UNCOMPRESSED)

qos_ea 추적은 서비스 정책이 인터페이스에 적용될 때 이벤트의 순서를 표시합니다.실패할 경우 문제가 표시됩니다.

RP/0/RP0/CPU0:xrg-ncs-04#show qos ea trace all reverse location 0/0/CPU0

Mon Dec 4 22:17:26.297 UTC

3077 wrapping entries (36992 possible, 18816 allocated, 0 filtered, 3077 total)

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: (line# 2882) : Responded to IM (batch size: 1)

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: post_caps_processing : Registering with ETHER EA for subid notification. Bulk count 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add_notify_remote Input num of interfaces 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : End: count = 1 ok_count 1. New num_policies_in 1 num_policies_out 2

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 SCOL: scol_interface_add : ifh 0x138 ea_intf_type MainIf : interface added to SCOL tree

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 SCOL: scol_interface_add_internal : ifh 0x138: after avl_tree_insert, new tree size is 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: (line# 1665) Child info aggr bw add: Current propagated_bw_sum in npu_ctx after adding propagated_bw in if_qos 0 is 0, ifh 0x138

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: insert_if_qos_from_list_by_npu_ctx : Inserting to list: if_qos 0x3087c0bb78 prev 0x0 next 0x0 ifh 0x138 head 0x0 tail 0x0 count 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: results_add for ifh 0x138 with pmap ingress_marking

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: fm_program : npu_id 5 ifh 0x138 policy_name ingress_marking :Compiling policy and sending VMR to FM

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name class-default offset 0 policer_id 32: configuring policer...

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 720000000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 720000000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 0 policer_id 32 mode/policer_type 0/0 inlif 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name i_match offset 1 policer_id 33: configuring policer...

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 720000000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 720000000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 1 policer_id 33 mode/policer_type 0/0 inlif 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 1

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: mark_actn_process Unconditional mark set for cmaps i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: resource_cfg for ifh 0x138 ul_ifh 0x0 with pmap ingress_marking

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CMAP: classmap_process : chd 0x7feedd339b98, if_qos 0x3087c0bb78, class_info 0x3087c0b368

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: preprocess_action : ifh 0x138 ul_ifh 0x0 policy_name ingress_marking class_name class-default

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_process_class : depth 0, usr_data->class_list 0x3087c0bb90, class_name class-default

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CMAP: classmap_process : chd 0x7feedd33b478, if_qos 0x3087c0bb78, class_info 0x3087c0b770

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: preprocess_action : ifh 0x138 ul_ifh 0x0 policy_name ingress_marking class_name i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_process_class : depth 0, usr_data->class_list 0x3087c0bb90, class_name i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_start_level : depth 0, stack 0x7fff8a11be40 ctx 0x7fff8a11c670

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: policy_walk : policy_oper 0 policy_name ingress_marking ifh 0x138 ul_ifh 0x0 walk_flags 0x0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: if_qos_insert_to_db : Inserting to hash table: npu_id 5 ifh 0x138, ul_ifh 0x0, dir 0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 RATE: dnx_qosea_policy_resolve : policy_name ingress_marking ifh 0x138 ul_ifh 0x0 intf_kbps 100000000

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: policy_add : npu_id 5 ifh 0x138 ul_ifh 0x0 dir ingress policy_name ingress_marking num_classes 0 max_hierarchy 0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: policy_verify : Verifying policy ingress_marking pmaphd 0x7feedd2c1088

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: if_qos_init : Initializing if_qos 0x3087c0bb78 with npu_id 5 ifh 0x138 ul_ifh 0x0 direction ingress ea_intf_type MainIf

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: check_policy_on_parent_subintf : Did not find any reference to parent interface (0x138) in par_child_info_array

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: check_policy_on_parent_subintf : parent_ifh: 0x138, dir: 0 (ingress)

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: intf_bw_get : Banwdith of ifh 0x138 is intf_kbps: 100000000 kbps

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add_int : ifh 0x138 ea_intf_type MainIf dir ingress

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add : ifh 0x138 ea_intf_type MainIf dir ingress policy_name ingress_marking

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : 1 of 1 direction ingress on interface 0x138 policy_name ingress_marking

Dec 4 21:30:18.093 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : batch count = 1 . Current num_policies_in 0 num_policies_out 2

Dec 4 21:30:18.093 qos_ea/int_evts 0/0/CPU0 t14563 INT: im_msg_handler : Rx: caps add message (batch size: 1)

정책을 변경하고 예를 들어 폴리서를 클래스 i_match에 추가하면 qos_ea 추적에 표시됩니다.정책 맵의 원본 위치 수정은 NCS5500에서 지원됩니다.

RP/0/RP0/CPU0:xrg-ncs-04(config-pmap-c)#police rate percent 50

RP/0/RP0/CPU0:xrg-ncs-04(config-pmap-c-police)#commit

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 0

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: (line# 147) : cir_kbps 50000000 cir_burst 4194304pir_kbps 0 pir_burst 0

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: (line# 144) : ifh 0x138 npu 5 offset 1 policer_type = 0 is_parent=0policer_id = 33

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1822) : class_name i_match offset 0 policer_id 33: configuring policer...

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name i_match offset 1 policer_id 33: configuring policer...

show qos interface 명령은 추가된 기능도 반영합니다.

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 input

Mon Dec 4 23:25:19.684 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138 -- input policy

NPU Id: 5

Total number of classes: 2

Interface Bandwidth: 100000000 kbps

Policy Name: ingress_marking

Accounting Type: Layer1 (Include Layer 1 encapsulation and above)

------------------------------------------------------------------------------

Level1 Class = i_match

New qos group = 3

New discard class = 2

Policer Bucket ID = 0x21

Policer Stats Handle = 0x0

Policer committed rate = 49680000 kbps (50 %)

Policer conform burst = 4194304 bytes (default)

Level1 Class = class-default

Default Policer Bucket ID = 0x20

Default Policer Stats Handle = 0x0

Policer not configured for this class

qos_ea 추적은 위의 명령이 실행될 때 변환된 값을 표시합니다.

폴리서는 22kbps의 증분 단계 크기를 사용합니다.구성된 값은 라인 카드의 수식에 사용될 때 22kbps의 가장 가까운 배수로 반올림됩니다.

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 49680000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 49680000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 1 policer_id 33 mode/policer_type 0/0 inlif 0

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 1

이그레스 QoS

이그레스 QoS가 큐잉 작업을 지원합니다.NCS5500에서는 이그레스 방향으로 두 개의 서비스 정책을 가질 수 있습니다.마킹용 하나와 큐잉용 하나표시 작업에 사용됩니다.

class-map match-any e_mark

match qos-group 3

end-class-map

!

policy-map egress_marking

class e_mark

set mpls experimental imposition 2

!

class class-default

!

end-policy-map

!

RP/0/RP0/CPU0:xrg-ncs-06#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Thu Dec 21 10:44:33.978 UTC

Pol-Num Flags Classes Ref-cnt In-Hash Compiled Policy Name

------- ---------- ------- ------- ------- -------- -----------

1 0x01000000 2 1 Yes Yes egress_marking

RP/0/RP0/CPU0:xrg-ncs-06#show feature-mgr client qos-ea feature summary location 0/0/CPU0

Thu Dec 21 10:59:08.872 UTC

IFH NPU DIR Lookup-type ACL-ID Refcnt Feature-Name

---------- --- --- -------------------- ------ ------ ------------

0x340 0 OUT MAP_ID_QOS 0 1 egress_marking:0

이그레스 대기열 정책

class-map match-any tc1

match traffic-class 1

end-class-map

!

class-map match-any tc2

match traffic-class 2

end-class-map

!

class-map match-any tc3

match traffic-class 3

end-class-map

!

class-map match-any tc4

match traffic-class 4

end-class-map

!

class-map match-any tc5

match traffic-class 5

end-class-map

!

policy-map POLICY_QOS_OUT

class tc1

priority level 1

shape average percent 19

queue-limit 500 us

!

class tc2

priority level 2

shape average percent 20

queue-limit 500 us

!

class tc3

bandwidth percent 1

!

class tc4

bandwidth percent 20

!

class tc5

bandwidth percent 20

!

class class-default

bandwidth percent 20

!

end-policy-map

!

One can quick verify where a QoS policy is applied.

RP/0/RP0/CPU0:xrg-ncs-04#show policy-map targets pmap-name POLICY_QOS_OUT location 0/0/CPU0

Mon Dec 18 21:13:01.463 UTC

1) Policymap: POLICY_QOS_OUT Type: qos

Targets (applied as main policy):

HundredGigE0/0/0/35 output

Total targets: 1

Targets (applied as child policy):

Total targets: 0

show QoS interface 명령은 구성된 매개변수 및 대기열 작업이 구성된 각 클래스에 대한 대기열 ID도 표시합니다.또한 대기열 크기와 같은 기본값을 가져올 수 있습니다.

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 output

Thu Dec 14 20:56:29.796 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138  -- output policy

NPU Id:                        5

Total number of classes:       6

Interface Bandwidth:           100000000 kbps

VOQ Base:                      1032

Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)

------------------------------------------------------------------------------

Level1 Class (HP1)                       =   tc1

Egressq Queue ID                         =   1033 (HP1 queue)

Queue Max. BW.                           =   0 kbps (19 %)

Guaranteed service rate                  =   19000000 kbps

TailDrop Threshold                       =   1187840 bytes / 500 us (500 us)

WRED not configured for this class

Level1 Class (HP2)                       =   tc2

Egressq Queue ID                         =   1034 (HP2 queue)

Queue Max. BW.                           =   0 kbps (20 %)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   1253376 bytes / 501 us (500 us)

WRED not configured for this class

Level1 Class                             =   tc3

Egressq Queue ID                         =   1035 (LP queue)

Queue Max. BW.                           =   100884395 kbps (default)

Queue Min. BW.                           =   1020015 kbps (1 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   1000000 kbps

TailDrop Threshold                       =   1253376 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   tc4

Egressq Queue ID                         =   1036 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   tc5

Egressq Queue ID                         =   1037 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   class-default

Egressq Queue ID                         =   1032 (Default LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Thu Dec 14 21:27:30.486 UTC

Pol-Num  Flags     Classes Ref-cnt In-Hash Compiled  Policy Name

------- ---------- ------- ------- ------- -------- -----------

3       0x00010000       6       0     Yes       No POLICY_QOS_OUT

2       0x00000000       1       0     Yes       No p_out

1       0x00004000       2       4     Yes       Yes ingress_marking

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy policy POLICY_QOS_OUT location 0/0/CPU0

Thu Dec 14 21:28:22.182 UTC

Policy name:        POLICY_QOS_OUT

Policy Number:      3

Flags:              0x10000 [DNX_FM_POL_TC]

Class Number:       6

Reference Count:    0

In Hash:            Yes

Is Compiled:        No

Level: 0 Class Number: 0 Class Name: tc1

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:0 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (1, 1)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 1 Class Name: tc2

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:1 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (2, 2)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 2 Class Name: tc3

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:2 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (3, 3)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 3 Class Name: tc4

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:3 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (4, 4)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 4 Class Name: tc5

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:4 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (5, 5)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 5 Class Name: class-default

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:5 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN:                UNKNOWN:

Adding WRED:

policy-map POLICY_QOS_OUT

class tc4

random-detect discard-class 1 5 ms 15 ms

!

class class-default

!

end-policy-map

!

end

Level1 Class                             =   tc4

Egressq Queue ID                         =   1036 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   75497472 bytes / 30 ms (default)

WRED profile for Discard_Class 1

WRED Min. Threshold                      =   12517376 bytes (5 ms)

WRED Max. Threshold                      =   37748736 bytes (15 ms)

Default RED profile

WRED Min. Threshold                      =   0 bytes (0 ms)

WRED Max. Threshold                      =   0 bytes (0 ms)

RP/0/RP0/CPU0:xrg-ncs-04#show controllers npu voq-usage interface HundredGigE 0/0/0/35 instance 5 location 0/0/CPU0

Tue Nov  7 17:24:03.570 UTC

-------------------------------------------------------------------

Node ID: 0/0/CPU0

Intf         Intf     NPU NPU  PP   Sys   VOQ   Flow   VOQ    Port

name         handle    #  core Port Port  base  base   port   speed

(hex)                                     type   (Gbps)

----------------------------------------------------------------------

Hu0/0/0/35   138       5   0    1   321   1032   1064 local   100            <- 1032 (Default LP queue) - displays the base queue -> refer to show qos interface commaand.

Display the queue details:

RP/0/RP0/CPU0:xrg-ncs-04#show controllers fia diagshell 5 "diag cosq voq id=1036 det=1" location 0/0/CPU0    <- 1036 (LP queue) - refer to show qos interface commaand.

Thu Dec 14 21:51:33.184 UTC

Node ID: 0/0/CPU0

Core 0:

Basic info

Q type: voq

num cos: 8, cosq class: 4

Base queue id: 1032, base queue gport: 0x24000408

Credit request type: BCM_COSQ_DELAY_TOLERANCE_100G_SLOW_ENABLED Adjusted for slow enabled 100Gb ports

Watchdog enable in common status message mode

Is queue in credit watchdog queue range:True

Credit watchdog message time: 0

Delete queue time: 512

Backoff enter queue credit balance threshold: 40960

Backoff exit queue credit balance threshold: 40960

Backlog enter queue credit balance threshold: 40960

Backlog exit queue credit balance threshold: 40960

Empty queue satisfied credit balance threshold: 0

Max empty queue credit balance threshold: 16384

Exceed max empty queue credit balance threshold: 1

Off-To-Slow credit balance threshold: 0

Off-To-Normal credit balance threshold: 38912

Slow-To-Normal credit balance threshold: 38912

Normal-To-Slow credit balance threshold: 38912

Delay Tolerance is NOT OCB only

Delay Tolerance is NOT High Q Priority

Slow Level Thresh Down in slow level number: 0 is: 0

Slow Level Thresh Down in slow level number: 1 is: 0

Slow Level Thresh Down in slow level number: 2 is: 0

Slow Level Thresh Down in slow level number: 3 is: 0

Slow Level Thresh Down in slow level number: 4 is: 0

Slow Level Thresh Down in slow level number: 5 is: 0

Slow Level Thresh Down in slow level number: 6 is: 0

Slow Level Thresh Up in slow level number: 0 is: 0

Slow Level Thresh Up in slow level number: 1 is: 0

Slow Level Thresh Up in slow level number: 2 is: 0

Slow Level Thresh Up in slow level number: 3 is: 0

Slow Level Thresh Up in slow level number: 4 is: 0

Slow Level Thresh Up in slow level number: 5 is: 0

Slow Level Thresh Up in slow level number: 6 is: 0

Credit value(local): 1024, Credit value(remote): 2048

Credit discount value: -2

Rate class info

WRED info:

Green : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Yellow: enable(True) min_thresh(12517376) max_thresh(37748736) drop_probability(9)

Red   : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Black : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Tail drop info:

Green : max queue size in bytes(75497472), max queue size in BDs(294912)

Yellow: max queue size in bytes(75497472), max queue size in BDs(294912)

Red   : max queue size in bytes(75497472), max queue size in BDs(294912)

Black : max queue size in bytes(75497472), max queue size in BDs(294912)

Guaranteed info:

Green : min queue size in bytes(0), min queue size in BDs(0)

Yellow: min queue size in bytes(0), min queue size in BDs(0)

Red   : min queue size in bytes(0), min queue size in BDs(0)

Black : min queue size in bytes(0), min queue size in BDs(0)

Fair adaptive tail drop info:

Enable: True

Green : alpha(-2)

Yellow: alpha(-2)

Red   : alpha(-2)

Black : alpha(-2)

ECN wred info: enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

ECN max queue size in bytes(524288), max queue size in BDs(524288)

VSQ-related

Category class: 2

Traffic class: 4

Connection class: 0

Green : Admission-test-templates(0)

Yellow: Admission-test-templates(0)

Red   : Admission-test-templates(0)

Black : Admission-test-templates(0)

AdmissionTestProfileA[0]:'category, traffic class'

AdmissionTestProfileB[0]: 'category'

current queue size: 0 bytes, current queue bds size: 0

Attached VOQ connector: 0x00000428

Destination sys port: 0x00007fff

OCB eligiblity: True

[SNIP]

output for core 1 is ommitted.

대기열 크기를 모니터링하려면 해당 행에 대해 위의 명령과 grep를 실행할 수 있습니다.

예: show controllers fia diagshell 5 "diag cosq voq id=1036 core=0 det=1" location 0/0/CPU0 | i 현재 큐 크기

show policy-map interface 명령을 사용하여 통계를 표시할 수 있습니다.

예: show policy-map interface1GigE 0/0/0/35 출력 위치 0/0/CPU0

참고:다른 XR 플랫폼에서 알 수 있듯이 출력은 자세히 표시되지 않습니다.해당 WRED 또는 RED 프로파일에 대한 라인은 표시되지 않습니다.

RP/0/RP0/CPU0:xrg-ncs-04#show policy-map interface hundredGigE 0/0/0/35 output location 0/0/CPU0

Thu Dec 14 22:05:50.971 UTC

Interface:HundredGigE0/0/0/35 Location: node0_0_CPU0 output: POLICY_QOS_OUT

Class tc1

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1033

Taildropped(packets/bytes)           : 0/0

Class tc2

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1034

Taildropped(packets/bytes)           : 0/0

Class tc3

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1035

Taildropped(packets/bytes)           : 0/0

Class tc4

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1036

Taildropped(packets/bytes)           : 0/0

Class tc5

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1037

Taildropped(packets/bytes)           : 0/0

Class class-default

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1032

Taildropped(packets/bytes)           : 0/0

FMQ 모니터링

멀티캐스트 트래픽이 예약되지 않았습니다.기존 VOQ 대신 FMQ(Fabric Multicast Queues)를 사용합니다.이 점수 이그레스 멀티캐스트에서 QoS는 지원되지 않습니다.

FMQ의 통계를 표시하려면 이 명령은 6.5.2부터 사용할 수 있습니다.

RP/0/RP0/CPU0:NCS5508#show controllers npu stats voq base 0 instance 0 location 0/0/CPU0

Mon Jul 8 08:59:22.465 UTC

Asic Instance = 0

VOQ Base = 0

ReceivedPkts   ReceivedBytes    DroppedPkts     DroppedBytes

-------------------------------------------------------------------

TC_0 = 224            15673            49              3468

TC_1 = 0              0                0               0

TC_2 = 0              0                0               0

TC_3 = 0              0                0               0

TC_4 = 0              0                0               0

TC_5 = 0              0                0               0

TC_6 = 0              0                0               0

TC_7 = 0              0                0               0

또한 NPU에서 패킷을 추적하고 적절한 TC(Traffic Class)가 적용되었는지 확인할 수 있습니다.한 번 보세요

섹션 해당 diag shell 명령 및 필터에 대한 전송 패킷을 따릅니다.

수집할 추가 명령

다음은 몇 가지 추가 명령입니다.

- 기술 지원 qos pi 표시

- show tech-support qos 플랫폼

- show tech cef 플랫폼

개별 인터페이스에서 문제가 의심되는 경우:

- show run interface <name>

- show run policy-map <> (인터페이스에 적용된 정책 맵의 경우)

- show qos interface <name> input|output

- show policy-map interface <name>

- show qos remote location <node> (이그레스 정책용)

인터페이스가 번들이면 완전한 번들 멤버 정보를 제공합니다.

- 번들 표시 <>

제한 사항/주의 사항

마킹

- L2(COS, DEI) 및 L3(MPLS EXP) 표시는 동일한 정책 맵에서 지원되지 않습니다.

- 폴리서가 set discard-class와 결합되어 있으면 작동하지 않습니다.

- match qos-group은 표시 전용입니다.

- qos-group 0은 기본 클래스에 예약되어 있습니다.

- 표시 정책에 대한 통계 및 카운터가 표시되지 않습니다.

대역폭

- 정책 맵의 모든 대역폭 문의 합계는 100%를 초과할 수 없습니다.

- 정책 맵의 모든 남은 대역폭 문의 합계는 100%를 초과할 수 없습니다.

- 쉐이퍼는 클래스 간에 공유되지 않으므로 bandwidth 문 요약에 제한이 없습니다.

인그레스 QoS

인그레스 서비스 정책에서는 큐잉 작업이 지원되지 않습니다.

이그레스 QoS

- 표시 기능/작업은 매우 제한적입니다.

- TG(traffic-class), QOS-group(QG) 및 DC(discard-class)에 대한 이그레스 정책 매칭만 지원됩니다.

- TC - 대기열 작업

- QG - 표시 작업

- DC - WRED

- 다음 정책 맵을 연결하는 서비스 정책은 이그레스 인터페이스에서 거부됩니다e:\

policy-map SET-AND-QUEUE-OUT

class GOLD

priority level 1

shape average percent 20

queue-limit 500 us

set mpls experimental imposition 5

다음과 같은 오류 메시지가 표시됩니다. !!% "DNX_QOSEA"에서 '경고' 조건 "잘못된 이그레스 정책 맵 컨피그레이션"을 검색했습니다.큐 기능을 표시하기 위해 qos-group을 사용하고 대기 기능을 위해 트래픽 클래스를 사용합니다."

두 개의 별도 서비스 정책을 적용할 수 있습니다. 하나는 마킹에, 다른 하나는 큐잉에 적용됩니다.

본사

- 하위 인터페이스에 서비스 정책을 적용하려면 HQoS 프로파일이 평평한 경우 독립적이어야 합니다.

- 우선 순위 클래스가 포함된 하위 인터페이스에 서비스 정책을 적용하려면 계층적 또는 플랫 클래스인 경우 이 클래스에 별도의 쉐이퍼가 필요합니다.

- HQoS 모드에서는 우선순위 클래스에 속도 제한 컨피그레이션(쉐이퍼)이 있어야 합니다. 유효 쉐이퍼 값은 우선 순위 대역폭 예약으로 사용됩니다.

- HQoS 모드에서는 동일한 정책 맵 컨피그레이션에서 대역폭(BW) 및 남은 대역폭(BWR)이 동시에 지원되지 않습니다.남은 대역폭 또는 대역폭은 동일한 정책 맵에서 구성할 수 있습니다.

- 셰이프와 함께 BW 개별 BWR은 릴리스 6.3.1 전에 동일한 정책 맵에서 지원되지 않습니다.

- 부모 클래스에는 WRED를 사용할 수 없습니다.

- HQoS 모드에서 최대 4개의 우선순위 레벨이 지원됩니다.

- 인그레스 HQoS 폴리싱 및 인그레스 피어링 프로필은 함께 지원되지 않습니다.

- 두 레벨 정책의 경우 상위 레벨의 사용자 정의 클래스는 지원되지 않습니다.

- TCAM 제한 때문에 HQoS 프로파일이 활성화된 경우 PBTS(Policy-Based Tunnel Selection)가 작동하지 않습니다.

커밋 후 지원되지 않는 구성 경고

다음 예와 같이 QoS 컨피그레이션을 커밋한 후 경고 로그가 표시되는 경우도 있습니다.

커밋 작업의 결과로 탐지된 검증 경고 비율경고를 보려면 'show configuration warnings'를 실행하십시오.

제안된 CLI를 실행하는 경우 다음을 볼 수 있습니다.

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

<사유는 여기에 인쇄되어 있습니다.>

그러나 컨피그레이션이 적용됩니다.이 경우 양 검증에서 나올 수 있습니다.

구성 유효성 검사 활성화가 구성되었는지 확인하십시오.

만약 그렇다면 양보의 해고가 있을 것이다.

디버그 구성 검증 cv 세부 정보를 전환하고 구성을 다시 커밋할 수 있습니다.

디버그 출력에서 "Unsupported(지원되지 않음)" 메시지를 트리거하는 양 규칙이 표시됩니다.

Example:

RP/0/RP0/CPU0:Jan 22 15:57:44.441 UTC: ccv[189]: ...essage : 'Service Policy on interface "TenGigE0/0/0/7/1.102" is not supported', rule group name: 'qos-ma', rule name: 'cac-ser-pol-qos-in-unsupp-intf').

이 경우 QoS PI 팀에 문의하십시오.