Iintroduzione
Questo documento descrive il concetto di Policy Class Tag(pcTag) / Class in Cisco Application Centric Infrastructure (ACI). Il riferimento delle informazioni contenute in questo documento è la versione software 4.2(3n).
Prerequisiti
Per comprendere al meglio il design presentato in questo documento, il lettore deve avere una conoscenza base di lavoro di Cisco ACI.
Che cos'è pcTag?
In parole semplici, pcTag è un ID numerico utilizzato per la rappresentazione interna di Endpoint Policy Group (epg) in ACI, noto anche come Source Class (sclass) o Destination Class (dclass). Viene utilizzato per la classificazione del traffico e per l'applicazione delle politiche (applicazione del contratto). Quando il traffico in entrata in una foglia ACI, in base alla direzione configurata dell'applicazione delle policy (Predefinito - In entrata) e alle informazioni sul prefisso disponibili localmente, la foglia ACI classifica e contrassegna il traffico di origine e di destinazione negli EPG assegnandogli un valore pcTag. Il pcTag assegnato all'epg di origine è denominato SCLASS, mentre il pcTag assegnato all'EPG di destinazione è denominato DCLASS.
Il valore pcTag è compreso tra 1 e 65535. Può essere ulteriormente suddiviso in tre categorie.
Sistema: si tratta di tag di sistema interni compresi tra 1 e 15. Ad esempio, 13 è per EPG drop e 15 è utilizzato per l3out con subnet 0.0.0.0/0 in EPG.
Globale: per impostazione predefinita, l'ambito di pcTag è locale rispetto a VRF (Virtual Routing and Forwarding). Tuttavia, in caso di contratti tra VRF, il tag pcTag deve avere un ambito globale e deve essere univoco nell'intera struttura dell'API. L'intervallo 16-16385 è riservato per l'utilizzo in tutto il mondo.
Locale: l'ambito predefinito di pcTag è locale rispetto a VRF e può essere riutilizzato tra VRF. Il suo valore è compreso tra 16386 e 65535.
Come ottenere il valore pctag di un EPG?
-
Utilizzo dell'interfaccia grafica di Application Policy Infrastructure Controller (APIC)
Nell'interfaccia utente di APIC, selezionare l'EPG per il quale si desidera ottenere il pctag e il pcTag può essere visualizzato in Policy -> General
Tenant —> Profili applicazione (AP) (selezionare l'AP) —> EPG applicazione (selezionare l'EPG)—> Criterio —>Generale
Analogamente, per l'EPG Layer 3 Out (L3Out), selezionare L3out EPG e il tag pc è disponibile in Policy -> scheda General (Generale)
Tenant —> Reti —> L3Outs—>Seleziona l'L3out —> EPG esterni (selezionare l'EPG) —>Policy —>General
-
Uso di APIC Command Line Interface (CLI)
Uso di APIC CLI, pcTag di un EPG può essereottenutodaoutilizzo OSPF (Open Shortest Path First) datoshow, comando outilizzandoquery oggetto gestito(Query MO).
apic# show epg EPG1 detail
Application EPg Data:
Tenant : Prod
Application : AP01
AEPg : EPG1
BD : BD1
uSeg EPG : no
Intra EPG Isolation : unenforced
Proxy ARP : none
Policy Tag : 49155
Vlan Domains : prod-phy-dom
Consumed Contracts : default
Provided Contracts :
Denied Contracts :
Qos Class : unspecified
Tag List :
apic# moquery -c fvAEPg -f 'fv.AEPg.name=="EPG1"' | egrep "^name|^dn|^pcTag|^scope"
name : EPG1
dn : uni/tn-Prod/ap-AP01/epg-EPG1
nameAlias :
pcTag : 49155
scope : 2326533
Moquery per ottenere il valore pcTag di un epg L3Out:
apic# moquery -c l3extInstP -f 'l3ext.InstP.name=="ext_EPG"' | egrep "^name|^dn|^pcTag"
name : ext_EPG
dn : uni/tn-Prod/out-L3out_BGP/instP-ext_EPG
nameAlias :
pcTag : 16386
-
Uso di Leaf CLI
- Quando l'endpoint è stato appreso in unnormale EPG, è possibile ottenere pcTag/SCLASS da EndPoint Manager(EPM).
bgl-aci05-leaf5# show system internal epm endpoint ip 192.168.10.10
MAC : 002c.c80a.7ca9 ::: Num IPs : 1
IP# 0 : 192.168.10.10 ::: IP# 0 flags : ::: l3-sw-hit: No
Vlan id : 74 ::: Vlan vnid : 13894 ::: VRF name : Prod:vrfA
BD vnid : 15826927 ::: VRF vnid : 2326533
Phy If : 0x1a011000 ::: Tunnel If : 0
Interface : Ethernet1/18
Flags : 0x80000c04 ::: sclass : 49155 ::: Ref count : 5 <<<<<<<
AottenereOSPF (Open Shortest Path First)tagPCvaloreperL3Out EPG,il Policy Manager (Pviene utilizzata la tabella dei prefissi:
Dentrouscita,16386 è il pcTag per la subnet 10.20.20.0/24.
bgl-aci05-leaf5# vsh -c 'show system internal policy-mgr prefix' | egrep "Vrf-Vni|==|2326533"
Vrf-Vni VRF-Id Table-Id Table-State VRF-Name Addr Class Shared Remote Complete
======= ====== =========== ======= ============================ ================================= ====== ====== ====== ========
2326533 5 0x5 Up Prod:vrfA 0.0.0.0/0 15 True True False
2326533 5 0x80000005 Up Prod:vrfA ::/0 15 True True False
2326533 5 0x5 Up Prod:vrfA 10.20.20.0/24 16386 True True False
Come ottenere il nome EPG quando si conosce il valore di pcTag?
Il modo più semplice perrecuperarenome EPGdalla CLI APICquandosaperepcTagda utilizzareOSPF (Open Shortest Path First)inferiore a MO Qquery
Per un EPG normale,
apic# moquery -c fvAEPg -f 'fv.AEPg.pcTag=="16387"' | egrep "name|^dn"
name : EPG1
dn : uni/tn-mgmt/ap-AP/epg-EPG1
nameAlias :
scope : 2621440
Per un EPG L3out:
apic# moquery -c l3extInstP -f 'l3ext.InstP.pcTag=="16386"'| egrep "name|^dn|scope"
name : ext_EPG
dn : uni/tn-Prod/out-L3out_BGP/instP-ext_EPG
nameAlias :
scope : 2326533
Nota: È possibile ottenere più EPG su un unico valore pcTag, in quanto l'ambito locale di pcTag è locale rispetto al VRF. Un filtro aggiuntivo con ID segmento VRF consente di ottenere la corrispondenza esatta.
Regole per guidare pcTag di origine e pcTag di destinazione SCLASS/DCLASS di un flusso
Questipossono essere utilizzate per determinare la classe e la dclass di un flusso intra-VRF ed eseguire ricerca regola di suddivisione in zone
Sclass |
Dclass |
SCLASS = Patch EPG di origine, se EPG in entrata è un EPG normale. SCLASS = vrf pctag, se l'ingresso viene eseguito in un'uscita L3 nella subnet 0.0.0.0/0 in L3Out EPG. SCLASS = Est EPG pcTag, se si preme qualsiasi altra subnet non predefinita in L3Out external EPG. |
DCLASS= PcTag EPG di destinazione, se l'endpoint di destinazione ha appreso informazioni sulla foglia in entrata. DCLASS =1, se l'endpoint di destinazione non viene appreso e il pacchetto viene inviato all'infrastruttura (proxy hardware o flusso). L'applicazione della politica sarebbe sulla foglia di destinazione. DCLASS = 15, se il risultato è nella subnet 0.0.0.0/0 in L3Out external EPG. DCLASS = Esterno EPG pcTag, quando una hit si trova su una subnet più specifica o non predefinita. |
Nota: La subnet sopra menzionata è la subnet configurata in External EPG e non la subnet in una tabella di routing.
Recupero di SCLASS/DCLASS tramite ELAM (Embedded Logic Analysis Module)
ELAM è uno degli strumenti preferiti per ottenere i valori pcTag di origine e destinazione di un flusso. Nell'ELAM, sotto "pkt rw vector", possiamo ottenere la SCLASS e DCLASS di un flusso usando i campi dati. I valori saranno in formato esadecimale e dovranno essere convertiti in decimale per ottenere il pcTag EPG.
sug_lurw_vec.info.nsh_special.dclass: <val>
sug_lurw_vec.info.nsh_special.sclass: <val>
Esempio:
sug_lurw_vec.info.nsh_special.dclass: 0x8004 << dst epg pctag is 32772
sug_lurw_vec.info.nsh_special.sclass: 0x8002. << src epg pctag is 32769
Con i valori di origine e destinazione pcTag, possiamo verificare le regole di zoning sugli switch foglia in entrata e in uscita.
Per ulteriori informazioni sulle regole di zoning, fare clic qui.