らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Cisco ACI で EPG を内部的に識別する pcTag の種類と範囲

Cisco ACI において、CLI から EPG や VRF を特定する場合、各々以下の識別子を用います。

  • EPG … pcTag (または Class ID)
  • VRF … VNID (または scope)

GUI で確認する方法

ACI の GUI 上であれば TenantOperationalResource IDsEPGs などから確認することが出来ます。

f:id:sig9:20200924223118p:plain

CLI で確認する方法

CLI から確認するには moqeury を使います。 下記の例では同じ「Epg1」という名前で 2 つ、ヒットしています。 ですが、名前は同じものの、Tenant が異なります。

  1. uni/tn-Tenant1/ap-Ap1/epg-Epg1
  2. uni/tn-Tenant2/ap-Ap1/epg-Epg1

以下の出力でポイントになるのが 「pcTag の値がいずれも 32770 である」 という点です。

apic# moquery -c fvAEPg -f 'fv.AEPg.name=="Epg1"'
Total Objects shown: 2

# fv.AEPg
name                 : Epg1
annotation           : 
childAction          : 
configIssues         : 
configSt             : applied
descr                : 
dn                   : uni/tn-Tenant1/ap-Ap1/epg-Epg1
exceptionTag         : 
extMngdBy            : 
floodOnEncap         : disabled
fwdCtrl              : 
hasMcastSource       : no
isAttrBasedEPg       : no
isSharedSrvMsiteEPg  : no
lcOwn                : local
matchT               : AtleastOne
modTs                : 2020-09-24T13:10:05.934+00:00
monPolDn             : uni/tn-common/monepg-default
nameAlias            : 
pcEnfPref            : unenforced
pcTag                : 32770
prefGrMemb           : exclude
prio                 : level3
rn                   : epg-Epg1
scope                : 2326533
shutdown             : no
status               : 
triggerSt            : triggerable
txId                 : 12105675798376562452
uid                  : 15374
userdom              : :all:

# fv.AEPg
name                 : Epg1
annotation           : 
childAction          : 
configIssues         : 
configSt             : applied
descr                : 
dn                   : uni/tn-Tenant2/ap-Ap1/epg-Epg1
exceptionTag         : 
extMngdBy            : 
floodOnEncap         : disabled
fwdCtrl              : 
hasMcastSource       : no
isAttrBasedEPg       : no
isSharedSrvMsiteEPg  : no
lcOwn                : local
matchT               : AtleastOne
modTs                : 2020-09-24T13:10:30.085+00:00
monPolDn             : uni/tn-common/monepg-default
nameAlias            : 
pcEnfPref            : unenforced
pcTag                : 32770
prefGrMemb           : exclude
prio                 : level3
rn                   : epg-Epg1
scope                : 2129924
shutdown             : no
status               : 
triggerSt            : triggerable
txId                 : 12682136550682357238
uid                  : 15374
userdom              : :all:

pcTag の種別

EPG を識別する pcTag は一般的に 一意では無く、重複している可能性があります。 pcTag は通常、 VRF スコープ、つまりローカルスコープであり、「同一 VRF 内部であれば一意であることが保証される」のですが、「異なる VRF 間では重複した値が利用されている可能性がある」ことになります。 但し、VRF を跨るルートリーク設定を利用する場合などは「異なる VRF を跨っても一意に EPG を識別する必要がある」為、これらの場合はグローバルスコープ範囲から pcTag が利用されます。

pcTag は用途によって範囲が別れており、具体的には以下の通りです。

pcTag 範囲 用途 説明
1 ~ 15 システム予約済み -
16 ~ 16,384 グローバルスコープ 共有サービスで利用
16,385 ~ 65,535 ローカルスコープ 同一 VRF 内で利用