소개 이 문서에서는 리프에 대한 암시적 계약(예: 재정의 규칙)을 식별하는 지침을 설명합니다.
사전 요구 사항 요구 사항
ACI에 대한 기본 지식
엔드포인트 그룹 및 계약
ELAM 컨피그레이션
사용되는 구성 요소 이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
사용된 장치:
버전 5.3(2)을 실행하는 Cisco ACI
ELAM Assistant/CLI ELAM
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보 pcTag는 ACI에서 EPG(Endpoint Policy Group)의 내부 표시에 사용되는 숫자 ID입니다. 소스 EPG에 할당된 pcTag를 SCLASS라고 하고, 대상 EPG에 할당된 pcTag를 DCLASS라고 합니다.
공유 서비스 소비자가 예약된 PcTag 14를 사용했습니다.
System - 1~15 범위의 내부 시스템 태그입니다.
Global(글로벌) - Range 16-16385(범위 16-16)는 글로벌 사용을 위해 예약되었습니다.
EPG 삭제는 예약된 PcTag 13을 사용합니다.
공유 서비스 소비자는 예약된 PcTag 14를 사용합니다.
0.0.0.0/0의 l3out에서는 예약된 PcTag 15를 사용합니다.
Local(로컬) - pcTag의 기본 범위는 VRF에 로컬이며 VRF 전체에서 재사용할 수 있습니다. 값의 범위는 16386~65535입니다.
계약 해결 단계 이러한 시나리오에서는 ELAM이 사용됩니다. 이 명령은 CLI ELAM을 위한 것이며 참조로 사용할 수 있습니다.
vsh_lc
debug platform internal elam asic
trigger reset
trigger init in-select out-select 0
set outer ipv4 src_ip dst_ip < destination ip address>
start
status
1단계. ELAM 트리거 먼저 ELAM에서 몇 가지 측면을 수집합니다. 소스 클래스 11060, 대상 클래스 14 및 통계 인덱스: 51983 .
공급자의 shared services > consumer subnet 에 클래스 ID 14가 사용됩니다.
이는 이러한 서브넷과 통신할 수 없는 로컬 스캘이 있는 공급자 VRF의 EPG에 사용됩니다.
IP Protocol : ICMP( 0x1 )
L4 Src Port : 2048( 0x800 )
L4 Dst Port : 56951( 0xDE77 )
sclass (src pcTag) : 11060 ( 0x2B34 )
dclass (dst pcTag) : 14 ( 0xE )
------------------------------------------------------------------------------------------------------------------------------------------------------
Contract Result
------------------------------------------------------------------------------------------------------------------------------------------------------
Contract Drop : no
Contract Logging : no
Contract Applied : no
Contract Hit : yes
Contract Aclqos Stats Index : 51983
( show sys int aclqos zoning-rules | grep -B 9 "Idx: 51983 ) 2단계. 하드웨어 규칙 일치를 기반으로 하는 Zoning-Rule Verification 규칙 식별자를 확인하려면 match contract 51983의 하드웨어 인덱스를 사용합니다.
module-1# show sys int aclqos zoning-rules | grep -B 9 "Idx: 51983"
===========================================
Rule ID: 8640 Scope 20 Src EPG: 11060 Dst EPG: 14 Filter 65534
unit_id: 0
=== Region priority: 2466 (rule prio: 9 entry: 162)===
sw_index = 13310 | hw_index = 29937 | stats_idx = 51983
Curr TCAM resource:
=============================
=== SDK Info ===
Result/Stats Idx: 51983
참고: 버전 4.X에서는 규칙을 표시할 수 없습니다. 계약을 식별하기 위해 show system internal aclqos zoning-rules implicit 명령을 사용합니다.
Rule Identifier(규칙 식별자)는 조닝(zoning) 규칙에서 계약을 검토하는 데 사용할 수 있습니다. 대체 규칙의 경우 계약 이름이 비어 있게 됩니다.
S2-LF101# show zoning-rule rule-id 8640
Config State
============
| Rule ID | SrcEPG | DstEPG | FilterID | Dir | operSt | Scope | Name | Action | Priority | Intent |
|---------|--------|--------|----------|-----|--------|-------|------|--------|---------|--------|
| 8640 | 11060 | 14 | implicit | uni-dir | enabled | 2424832 | | permit_override | src_dst_any(9) | install |
Install State
==============
| Rule ID | SrcEPG | DstEPG | FilterID | Dir | Scope | Name | Action | Priority |
|---------|--------|--------|----------|-----|-------|------|--------|---------|
| 8640 | 11060 | 14 | implicit | uni-dir | 2424832 | | permit_override | src_dst_any(9) |
3a 단계. Object actrlRule을 사용하여 계약 이름이 있는지 확인합니다. actrlRule moquery는 다음과 같이 필터를 사용하여 leaf에 사용할 수 있습니다.
moquery -c actrlRule -f 'actrl.Rule.rn*"s- -d- "' | grep ctrctName 예를 들어, 이는 재정의 정책을 생성하는 계약입니다.
moquery -c actrlRule -f 'actrl.Rule.rn*"s-11060 -d-14 "' | grep ctrctName
ctrctName : common:Common-Global ctrctName 필드는 비어 있을 수 있습니다. 그렇다면 사용할 수 있는 또 다른 객체가 있습니다.
3b 단계. Object actrlRule을 사용하여 계약 이름이 있는지 확인합니다. vzRuleOwner moquery는 leaf에서 사용할 수 있습니다.
moquery -c vzRuleOwner -f 'vz.RuleOwner.dn*"11060 .*14 "' vzRuleOwner 예에서 이는 재정의 정책을 생성하는 계약입니다.
MXS2-LF101# moquery -c vzRuleOwner -f 'vz.RuleOwner.dn*"11060 .*14 "'
Total Objects shown: 1
# vz.RuleOwner
creatorDn : cdef-[uni/tn-common/brc-Common-Global]/epgCont-[uni/tn-common/out-L3OUT-External/instP-External/]-fr-[uni/tn-common/brc-Common-Global/dirass/prov-[uni/tn-common/out-L3OUT-External/instP-External-]-any-no]/to-[uni/tn-common/brc-Common-Global/dirass/cons-[uni/tn-test/ap-ap-test/epg-epg-test]-any-no]
tag : to-epg
action : permit_override
childAction :
ctrctName :
direction : uni-dir
dn : sys/actrl/scope-2424832/rule-2424832-s-11060 -d-14- f-implicit/own-[cdef-[uni/tn-common/brc-Common-contract ]/epgCont-[uni/tn-common/out-L3OUT/instP-External]/fr-[uni/tn-common/brc-Common-contract/dirass/prov-[uni/tn-common/out-L3OUT/instP-External]-any-no]/to-[uni/tn-common/brc-Common-contract/dirass/cons-[uni/tn-test/ap-ap-test/epg-epg-test]-any-no]]-tag-to-epg
intent : install
lcOwn : local
markDscp : unspecified
modTs : 2024-08-07T06:16:42.241+00:00
monitorDn : uni/tn-common/monepg-default
name :
nameAlias :
prio : src_dst_any
qosGrp : unspecified
rn : own-[cdef-[uni/tn-common/brc-Common-Global ]/epgCont-[uni/tn-common/out-L3OUT-External/instP-External-]/fr-[uni/tn-common/brc-Common-Global/dirass/prov-[uni/tn-common/out-L3OUT-External/instP-External-]-any-no]/to-[uni/tn-common/brc-Common-Global/dirass/cons-[uni/tn-test/ap-ap-test/epg-epg-test]-any-no]]-tag-to-epg
status :
type : tenant DN에서 brc 다음에는 계약 이름이 됩니다.
RN/DN: brc-<계약 이름>
예를 들면 다음과 같습니다.
brc-공통 계약
참조
Cisco 버그 ID
버그 제목
개선 사항 버전 추가
Cisco 버그 ID CSCwk84663
규칙의 가시성이 추가되었습니다. 이 재정의 규칙은 컨피그레이션이 올바르게 설정된 경우 영역 지정 규칙에 나타나지만 영역 지정 규칙에서 이름을 명시적으로 언급하지 않습니다.
버전 5.X
관련 정보 ACI 공유 서비스 확인 - 공유 서비스 소비자 PcTag 14