目录

简介

先决条件

什么是pcTag?

如何获取EPG的pctag值？

使用应用策略基础设施控制器(APIC)图形用户界面(GUI)

使用APIC命令行界面(CLI)

使用枝叶CLI

当您知道pcTag值时，如何获取EPG名称？

驱动源pcTag和目的pcTag流的SCLASS/DCLASS的规则

使用嵌入式逻辑分析模块(ELAM)获取SCLASS/DCLASS

I生产

本文档介绍思科以应用为中心的基础设施(ACI)中的策略类标记(pcTag)/类的概念。 本文档中的信息基于软件版本4.2(3n)。

先决条件

为了最好地理解本文档中介绍的设计，读者必须具备Cisco ACI的基本工作知识。

什么是pcTag?

简言之，pcTag是用于ACI中终端策略组(epg)的内部表示的数字ID，也称为源类(sclass)或目标类(dclass)。 它用于流量分类和策略实施（合同实施）。 当流量进入ACI枝叶时，ACI枝叶将根据配置的策略实施方向（默认 — 入口）和本地可用的前缀信息，通过为其分配pcTag值，将源流量和目标流量分类并标记到EPG中。分配给源epg的pcTag称为SCLASS，而分配给目标EPG的pcTag称为DCLASS。

pcTag值范围在1到65535之间。它可进一步分为三类。

系统 — 这些是范围为1-15的内部系统标记。例如，13用于丢弃EPG，15用于EPG中0.0.0.0/0子网的l3out。

Global — 默认情况下，pcTag的范围是VRF（虚拟路由和转发）的本地范围。 但是，在VRF间合同的情况下，pcTag必须具有全局范围，并且应在整个API交换矩阵中是唯一的。  范围16-16385保留供全球使用。

Local - pcTag的默认范围是VRF的本地范围，可在VRF中重复使用。其值范围为16386-65535。

如何获取EPG的pctag值？

- 使用应用策略基础设施控制器(APIC)图形用户界面(GUI)

在APIC GUI上，选择要获取pctag的EPG，在Policy -> General（策略 — >常规）下可以看到pcTag

租户 — >应用配置文件(AP)（选择AP） — >应用EPG（选择EPG） — >策略 — >常规

同样，对于第3层输出(L3Out)EPG，选择L3out EPG，pcTag可在Policy -> General（常规）选项卡下找到

租户 — >网络 — > L3Outs—>选择L3out —>外部EPG（选择EPG） — >策略 — >常规

- 使用APIC命令行界面(CLI)

使用APIC CLI、的pcTag。 EPG可以获得按或使用 在 已show command or 通过使用 托管对象查询（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以获取L3Out EPG的pcTag值：

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

- 使用枝叶CLI

- 当终端在中获知常规EPG，您可以从终端管理器(EPM)获取pcTag/SCLASS。

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  <<<<<<<

至get 在pcTag价值对于L3Out EPG、策略管理器(Policy-mgr)前缀表使用:

输入输出，16386是子网10.20.20.0/24的pcTag。

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

当您知道pcTag值时，如何获取EPG名称？

最简单的方法检索EPG名称从APIC CLI当知道pcTag是在低于MO Q查询

对于常规EPG，

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

对于L3out EPG:

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

注意：您有可能针对一个pcTag值获得多个EPG，因为本地pcTag具有VRF本地范围。带VRF网段ID的额外过滤器可为您提供完全匹配。

驱动源pcTag和目的pcTag流的SCLASS/DCLASS的规则

这些规则可用于确定VRFflow内的类和类并执行 分区规则查找

类

Dclass

SCLASS =源EPG pctag，如果入口EPG是常规EPG。

SCLASS = vrf pctag，如果L3Out EPG中0.0.0.0/0子网下的L3Out入口。

SCLASS =分机EPG pcTag(如果命中L3Out外部EPG中的任何其他非默认子网)。

DCLASS=目标EPG pcTag（如果目标终端已在入口枝叶上获知）。

DCLASS =1，如果未获知目标终端，我们将数据包发送到交换矩阵（硬件代理或泛洪）。 策略实施将位于目标枝叶上。

DCLASS = 15，如果命中位于L3Out外部EPG下的0.0.0.0/0子网上。

DCLASS =外部EPG pcTag，当命中位于更具体或非默认子网时。

注意：上述子网是您在外部EPG下配置的子网，而不是路由表中的子网。

使用嵌入式逻辑分析模块(ELAM)获取SCLASS/DCLASS

ELAM是获取流的源和目标pcTag值的首选工具之一。在ELAM中，在“pkt rw vector”下，利用给定的字段，可以得到流的SCLASS和DCLASS。这些值将以十六进制表示，需要转换为十进制以获取EPG pcTag。

sug_lurw_vec.info.nsh_special.dclass:<val>

sug_lurw_vec.info.nsh_special.sclass:<val>

示例：

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

使用源和目标pcTag值，我们可以验证入口和出口枝叶交换机上的分区规则。

有关Zoning-Rules的详细信息，请单击此处。