以前に Cisco ACI で Policy CAM の利用状況を確認する というメモを書きました。 ACI では (個々の EPG に対してでは無く) VRF 全体に対して Contract を設定する、いわゆる「vzAny」と呼ばれている設定方法があります。 今回は vzAny を利用した場合の Policy CAM の消費量を確認してみます。 尚、今回は 5.0(2h) で検証を実施しました。
前提コンフィグ
以下のコンフィグが設定されている前提でテストします。
tenant Tenant1 access-list Filter1 match tcp dest 10000 match tcp dest 10001 match tcp dest 10002 match tcp dest 10003 match tcp dest 10004 match tcp dest 10005 match tcp dest 10006 match tcp dest 10007 match tcp dest 10008 match tcp dest 10009 exit contract Contract1 subject Subject1 access-group Filter1 both exit exit vrf context Vrf1 exit bridge-domain Bd1 arp flooding vrf member Vrf1 exit bridge-domain Bd2 arp flooding vrf member Vrf1 exit bridge-domain Bd3 arp flooding vrf member Vrf1 exit bridge-domain Bd4 arp flooding vrf member Vrf1 exit bridge-domain Bd5 arp flooding vrf member Vrf1 exit application Ap1 epg Epg1 bridge-domain member Bd1 set qos-class level3 vmware-domain member Vmm1 deploy immediate exit exit epg Epg2 bridge-domain member Bd2 set qos-class level3 vmware-domain member Vmm1 deploy immediate exit exit epg Epg3 bridge-domain member Bd3 set qos-class level3 vmware-domain member Vmm1 deploy immediate exit exit epg Epg4 bridge-domain member Bd4 set qos-class level3 vmware-domain member Vmm1 deploy immediate exit exit epg Epg5 bridge-domain member Bd5 set qos-class level3 vmware-domain member Vmm1 deploy immediate exit exit exit exit
vzAny 設定前
vzAny の設定前は以下のような Zoning-rule が Deploy されていました。
leaf# contract_parser.py --vrf Tenant1:Vrf1 Key: [prio:RuleId] [vrf:{str}] action protocol src-epg [src-l4] dst-epg [dst-l4] [flags][contract:{str}] [hit=count] [16:4160] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd2(32770) [contract:implicit] [hit=0] [16:4145] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd4(32771) [contract:implicit] [hit=0] [16:4156] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd5(32772) [contract:implicit] [hit=0] [16:4155] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd1(49153) [contract:implicit] [hit=0] [16:4167] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd3(49154) [contract:implicit] [hit=0] [16:4146] [vrf:Tenant1:Vrf1] permit arp epg:any epg:any [contract:implicit] [hit=0] [21:4140] [vrf:Tenant1:Vrf1] deny,log any epg:any epg:any [contract:implicit] [hit=0] [22:4166] [vrf:Tenant1:Vrf1] deny,log any epg:any pfx-0.0.0.0/0(15) [contract:implicit] [hit=0]
vzAny 設定後
vzAny 設定を実施してみます。 今回は Consumer / Provider 双方向に設定してみました。
tenant Tenant1 vrf context Vrf1 contract consumer Contract1 contract provider Contract1 exit
vzAny 設定後に Zoning-rule を確認すると以下のようになっていました。
leaf# contract_parser.py --vrf Tenant1:Vrf1 Key: [prio:RuleId] [vrf:{str}] action protocol src-epg [src-l4] dst-epg [dst-l4] [flags][contract:{str}] [hit=count] [16:4160] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd2(32770) [contract:implicit] [hit=0] [16:4145] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd4(32771) [contract:implicit] [hit=0] [16:4156] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd5(32772) [contract:implicit] [hit=0] [16:4155] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd1(49153) [contract:implicit] [hit=0] [16:4167] [vrf:Tenant1:Vrf1] permit any epg:any tn-Tenant1/bd-Bd3(49154) [contract:implicit] [hit=0] [16:4169] [vrf:Tenant1:Vrf1] permit ip tcp epg:any epg:any eq 10000 [contract:uni/tn-Tenant1/brc-Contract1] [hit=?] ip tcp epg:any epg:any eq 10001 ip tcp epg:any epg:any eq 10003 ip tcp epg:any epg:any eq 10004 ip tcp epg:any epg:any eq 10002 ip tcp epg:any epg:any eq 10005 ip tcp epg:any epg:any eq 10006 ip tcp epg:any epg:any eq 10007 ip tcp epg:any epg:any eq 10008 ip tcp epg:any epg:any eq 10009 [16:4134] [vrf:Tenant1:Vrf1] permit ip tcp epg:any eq 10009 epg:any [contract:uni/tn-Tenant1/brc-Contract1] [hit=?] ip tcp epg:any eq 10008 epg:any ip tcp epg:any eq 10007 epg:any ip tcp epg:any eq 10006 epg:any ip tcp epg:any eq 10005 epg:any ip tcp epg:any eq 10002 epg:any ip tcp epg:any eq 10004 epg:any ip tcp epg:any eq 10003 epg:any ip tcp epg:any eq 10001 epg:any ip tcp epg:any eq 10000 epg:any [16:4146] [vrf:Tenant1:Vrf1] permit arp epg:any epg:any [contract:implicit] [hit=0] [21:4140] [vrf:Tenant1:Vrf1] deny,log any epg:any epg:any [contract:implicit] [hit=0] [22:4166] [vrf:Tenant1:Vrf1] deny,log any epg:any pfx-0.0.0.0/0(15) [contract:implicit] [hit=0]
vzAny 設定により、「Any → Any」な Zoning-rule が増えていることが分かります。 Filter Entry が 10 個ありますが、双方向で設定している為、合計で 20 行増えています。 vzAny 設定前後で Capacity Dashboard
を確認すると、確かに Policy CAM が +20 されていました。