Aci D3
Aci D3
Ratko Perlic
ratko.perlic@flintmail.com
§ Improve interaction
§ Enables Q&A
§ Engage everybody
https://tinyl.io/4TW4
Day 3 Agenda
§ Endpoint Manager
§ Contracts
§ Service Graph
§ Multicast
§ ACI L2 Extension and STP
§ L3Out Datapath
§ Backup & Maintenance
§ ACI Deployment Models
Endpoint Manager
Endpoint Manager (EPM) Process Architecture
Oracle ZM
on
e cti QT
CP
o nn Co
PC nn
TC ec
tio
Q n
ZM
Spine
SUP SUP
COOP COOP
ZMQ TCP Connection Objstore
Objstore
(vPC sync)
EPM EPM
LC LC
EPMC EPMC
Dynamic Endpoints:
Tenant : DC
Application : App
AEPg : EPG2
End Point MAC IP Address Node Interface Encap Multicast Address
----------------- ---------------- ---------- ------------------- -------------- ---------------
00:00:00:01:10:02 10.200.2.105 101 eth1/3 vlan-1002 not-applicable
• Best practice is to copy and store those files as quick as possible after an event you want to
analyze
mkdir /tmp/epm-log-20210302
cp /var/log/dme/epm* /tmp/epm-log-20210302
Endpoint Move to Remote Leaf
5b 3 2
5a 5c
1
0. Whole fabric knows that EP is connected to Leaf1
1. EP moves from Leaf1 to Leaf2 (for example vMotion)
2. Leaf2 sees EP and updates internal DB and COOP DB on Spine
3. COOP is updated and tells Leaf1 than EP is now on Leaf2
4. Leaf1 creates a bounce entry. Bounce entry remains for a configurable value which should be greater than
remote endpoint aging
5. Packets from Leaf3 (who may have older EP entry pointing to Leaf1) will reach Leaf1, that bounces them to
Leaf2; returning packets will properly set EP entry on Leaf3
VM Moved from One Leaf to Another Leaf
(Original Leaf Shown)—EPMC Bounce Entry
BEFORE AFTER
module-1# show system internal epmc endpoint ip module-1# show system internal epmc endpoint ip
2.2.2.200 2.2.2.200
MAC : 0050.56bf.1082 ::: Num IPs : 1 MAC : 0000.0000.0000 ::: Num IPs : 1
IP# 0 : 2.2.2.200 ::: IP# 0 flags : IP# 0 : 2.2.2.200 ::: IP# 0 flags :
Vlan id : 15 ::: Vlan vnid : 8292 ::: BD vnid : Vlan id : 0 ::: Vlan vnid : 0 ::: BD vnid : 0
16318375 VRF name : aobst:Network1 ::: VRF vnid : 2097153
Encap vlan : 802.1Q/2900 phy if : 0 ::: tunnel if : 0x18010005 :::
VRF name : aobst:Network1 ::: VRF vnid : 2097153 Interface : Tunnel5
phy if : 0x1a003000 ::: tunnel if : 0 ::: Interface Flags : 0x80004408
: Ethernet1/4 Ref count : 3 ::: sclass : 16389
Flags : 0x80004c04 Timestamp : 01/01/1970 10:44:59.504552
Ref count : 5 ::: sclass : 16389 last mv timestamp 01/01/1970 10:00:00.000000 :::
Timestamp : 01/01/1970 10:42:25.275539 ep move count : 0
last mv timestamp 01/01/1970 10:00:00.000000 ::: ep last loop_detection_ts 01/01/1970 10:00:00.000000
move count : 0 previous if : 0x18010005 ::: loop detection count
last loop_detection_ts 01/01/1970 10:00:00.000000 : 0
previous if : 0 ::: loop detection count : 0 EP Flags : bounce, IP,class-set,timer,
EP Flags : local,IP,MAC,class-set,timer, Aging:Timer-type : Bounce timeout ::: Timeout-
Aging:Timer-type : Host-tracker timeout ::: Timeout- left : 604 ::: Hit-bit : No ::: Timer-reset count :
left : 72 ::: Hit-bit : Yes ::: Timer-reset count : 3 0
...
egrep "moved from" in EPMC:
Leaf# egrep "moved from" epmc-trace.txt
2017 Sep 4 07:26:49.49690982:319903104:epmc_process_l3_upd:2299:t]IP 100.64.3.20 moved from MAC 5897.bde5.92ed to MAC 5897.bde5.92ec
2017 Sep 4 07:26:54.676146156:319917567:epmc_process_l3_upd:2299:t]IP 100.64.3.20 moved from MAC 5897.bde5.92ec to MAC 5897.bde5.92ed
2017 Sep 4 07:26:54.677959195:319917620:epmc_process_l3_upd:2299:t]IP 100.64.3.20 moved from MAC 5897.bde5.92ed to MAC 5897.bde5.92ec
2017 Sep 4 07:27:21.112399487:319971710:epmc_process_l3_upd:2299:t]IP 100.64.3.20 moved from MAC 5897.bde5.92ec to MAC 5897.bde5.92ed
2017 Sep 4 07:27:21.139985616:319971867:epmc_process_l3_upd:2299:t]IP 100.64.3.20 moved from MAC 5897.bde5.92ed to MAC 5897.bde5.92ed
Preferred Group
You can also configure EPGs for intra EPG
Isolation
• Intra EPG Isolation blocks communication
between all endpoints inside the group
• In the same EPG you can mix Physical and
Virtual endpoints
• This is similar to the concept of Private
VRF1
VLANs (Isolated VLANs)
Bridge Domain
<fvTenant name="Tenant1">
<fvAp name=”ap1">
<fvAEPg isAttrBasedEPg="no" matchT="AtleastOne" name="baseEPG" pcEnfPref=”enforced" prefGrMemb="exclude" prio="unspecified">
<fvRsBd tnFvBDName="bd"/>
</fvAEPg>
</fvAp>
</fvTenant>
Communication between EPGs is configured via
"contracts"
contract "HTTP"
EPG 1 EPG 2
ACL:
EPG 1 to EPG 2 dest port = 80
EPG 2 to EPG 1 source port = 80
What are Contracts in ACI
• They don’t steer traffic (except for service graph)
• They are ACLs
• They control redistribution of routes between VRFs
• Contracts are semantics to specify End Point Group (EPG) to EPG
communication in ACI Fabric
• Contracts can be between EPGs or between L3out and EPGs
• Filters take space in the Policy CAM
Provider and Consumer is just to create a direction
between EPGs
contract "EPG1-to-EPG2"
EPG 1 EPG 2
Consumer-to-Provider direction
Provider-to-Consumer direction
You can then add subjects to the contract and
define the filters for each direction
CONSUMER PROVIDER
contract "EPG1-to-EPG2"
EPG 1 EPG 2
Bridge Domain
Consumer
only 1 contract between
vzAny and EPG Provider
VRF1
Bridge Domain
EPG PROVIDER OF
SHARED SERVICES Provider Bridge Domain
EPG-2
Contract-2
EPG Contract Inheritance
Contract_DNS Contract_SSL
Contract_Internet
Contract_DNS Contract_SSL
Contract_Internet
Contract_DNS Contract_SSL
Contract_Internet
Contract_DNS Contract_SSL
Contract_Internet
Contract_DNS Contract_SSL
Contract_Internet Contract_TomCat
49166 32787
FilterId Name EtherT ArpOpc Prot MatchOnlyFrag Stateful SFromPort SToPort DFromPort DToPort Prio Icmpv4T Icmpv6T TcpRules
======== ========== ====== ========= ======= ====== ======= ======= ==== ==== ==== ========= ======= ========
implicit implicit unspecified unspecified unspecified no no unspecified unspecified unspecified unspecified implicit unspecified unspecified
implarp implarp arp unspecified unspecified no no unspecified unspecified unspecified unspecified dport unspecified unspecified
default any unspecified unspecified unspecified no no unspecified unspecified unspecified unspecified def unspecified unspecified
5 5_0 ip unspecified icmp no no unspecified unspecified unspecified unspecified sport unspecified unspecified
Lab4:
Working with Contracts
Service Graph
Cisco ACI Service Insertion
Extending ACI Policy Model to L4-L7 Services
Network only switching feature adds the flexibility for customer to use only network
automation for service appliance. The configuration of the L4-L7 device is left to be done by
customer.
Customer can keep current L4-L7 device administration.
L4-L7 Admin
Why Service Graph Redirect:
Use different Firewall based on source FW1
Redirect
provider consumer
EPG-A Contract-A
L3Out
EPG-B Contract-B
provider consumer
Redirect
FW2
L3Out
EPG-A EPG-B
FW1 FW2
Why Service Graph Redirect:
Inspect specific traffic by FW.
consumer provider
EPG EPG
Client
Contract Web
Redirect
Subject1: permit-http
Only HTTP traffic is redirected to FW, and Subject2: permit-all
then traffic is going to Web endpoint
EP1 EP2
Redirect policies
In case of PBR defines
EPG EPG
Redirect next-hop info Client Web
Shadow
EPG
Connector”
• Each is represented by a VLAN and Provider Connector
has its own PCTag
Cons Prov
Consumer Connector
Service Graphs Components
A quick review
• Devices
• Physical Device & interfaces it connects to in fabric. Converted to Consumer Connector and Provider
Connector
• A “Device” might be a cluster of multiple Appliance/VM
• Contract
• Places Contract between Consumer & Provider and the shadow EPG
• To improve load balancing Multicast traffic is distributed across 12 FTAG topologies in the Fabric
• Destination groups are hashed across the FTAG topologies
• FTAG trees are rooted at spine switches (roots determined by APIC)
• FTAG tree calculation is performed by IS-IS and will create the FTAG trees as maximally redundant graphs
• An FTAG should give a non looped path reaching every leaf and spine
Useful mostly for MultiPod environments to check which Spine sent some traffic to IPN.
pod2-spine1# show isis internal mcast route ftag FTAG ID: 3 [Root] [Enabled] Cost:( 0/ 0/ 0)
IS-IS process: isis_infra ----------------------------------
VRF : default Root port: -
FTAG Routes OIF List:
==================================== Ethernet1/33.33
FTAG ID: 0 [Disabled] Ethernet1/34.34
Ethernet1/35.35
FTAG ID: 1 [Enabled] Cost:( 2/ 8/ 0) Ethernet1/36.36
----------------------------------
Root port: Ethernet1/34.34 FTAG ID: 4 [Root] [Enabled] Cost:( 0/ 0/ 0)
OIF List: ----------------------------------
Root port: -
FTAG ID: 2 [Root] [Enabled] Cost:( 0/ 0/ 0) OIF List:
---------------------------------- Ethernet1/33.33
Root port: - Ethernet1/34.34
OIF List: Ethernet1/35.35
Ethernet1/33.33
Ethernet1/36.36
Ethernet1/34.34
…
Ethernet1/35.35
Ethernet1/36.36
pod2-spine1# show isis internal mcast route
gipo § Usually to check the list of leaf switches that
IS-IS process: isis_infra
VRF : default have multicast destinations for a given BD
GIPo Routes § Leaf sends Group Membership LSPs (GM-
====================================
GIPo: 225.0.0.16 [TRANSIT] LSPs) for all its BDs with active multicast
OIF List: sources/receivers
Ethernet1/33.33
Ethernet1/34.34
Ethernet1/35.35
§ No GM-LSPs are triggered by Tenant
Ethernet1/36.36 multicast join/leave activity
GIPo: 225.0.3.160 [TRANSIT] § GM-LSPs are distributed throughout the
OIF List:
Ethernet1/34.34 fabric by ISIS using the same reliable flood
Ethernet1/35.35
mechanism used to distribute other LSPs
GIPo: 225.0.3.240 [TRANSIT]
OIF List: § GM-LSP from all nodes is used to build the
GIPo: 225.0.9.0 [TRANSIT] GIPo Distribution tree in the topology
OIF List:
Ethernet1/34.34
Ethernet1/35.35
§ Multicast address range pool must be a /15 for 128k addresses
§ From the infra default value you can determine what the pool address is.
§ For example, #.#.#.16 = #.#.#.0/15
DU
BP
BP
DU
• External switches break any potential
loop upon receiving the flooded BPDU
Same EPG
from ACI fabric BP
DU
DU
BP
BP
DU
• BPDU frame for MST is sent over the native VLAN and
doesn’t have VLAN tagging MST Region
Enable native BP
DU
• By default, ACI leaf port is not in VLAN 1 and VLAN 1 VLAN
is not native VLAN on leaf ports
• For MST, TCN frame indicates instances that has topology change. The instance to VLAN mapping has to be configured
on APIC in order for APIC to flush end points for the correct encap VLANs.
• EPG VLAN is configured consistently across leaf switches and neighboring
switches. BPDUs don’t get forwarded otherwise and this could lead to loop
• Pay attention to LLDP/CDP faults for native VLAN mismatch. They are
designated as critical faults since native VLAN mismatch can lead to loop
• You should enable MCP on all ports facing external switches or similar devices
MCP CLI Sample Output
ACI-Leaf1#show mcp internal info interface ethernet 1/3 ACI-Leaf1#show mcp internal info vlan 1022
------------------------------------------ ---------------------------------------------
Interface: Ethernet1/3 PI VLAN: 36 Up
Native PI VLAN: 0 Encap VLAN: 1022
Native Encap VLAN: 0 PVRSTP TC Count: 28
BPDU Guard: disabled RSTP TC Count: 0
BPDU Filter: disabled Last TC flush at Fri Apr 21 14:14:00 2017
Port State: up on Ethernet1/3
Layer3 Port: false
Switching State: enabled
Mac Address: e0:e:da:a2:f1:e5
Interface MCP enabled: true
------------------- STP STATS --------------------
MSTP Count: 0
RSTP Count: 0
MSTP TC Count: 0
RSTP TC Count: 0
PVRSTP TC Count: 74
TCN Count: 0
PVID Error BPDU Count: 0
Error Packet Count: 0
BPDU Guard Event Count: 0
Last TC received at Fri Apr 21 14:14:02 2017
Lab5:
Integrate/Migrate L2
Network to ACI
L3Out Datapath
Why L3OUT? • What is L3OUT for ?
Ø To connect ACI with other network domain
= devices with multiple subnet behind it
• How is L3OUT different from EPG?
Ø Speak Routing Protocol
VRF Ø No IP learning as endpoint
Ø Next-hop IP is stored in ARP table
= Same as normal routers
BD Subnet A L3OUT Routing Protocol
Next-hop MAC in endpoint table
Use default
Only on configured
Node Profile nodes
(Border LEAF)
• Node(s) to deploy Routing Protocol
• Static Route (if any)
Interface Profile
Conclusion: Packet entering from EPG 32774 can be either ICMP or HTTP.
Drawback: Packet entering EPG 32774 with ICMP or HTTP can go out L3Out1 or L3Out2, if the
route to destination is reachable.
Advertise BD under subnet
EIGRP basic check
bdsol-aci32-leaf1# show ip eigrp vrf RD-BGP:RD
IP-EIGRP AS 1 ID 172.16.1.1 VRF RD-BGP:RD
Process-tag: default
Instance Number: 1
Status: running
Authentication mode: none Check
Authentication key-chain: none Eigrp process is running
Metric weights: K1=1 K2=0 K3=1 K4=0 K5=0 And has some interface running eigrp
metric version: 32bit
IP proto: 88 Multicast group: 224.0.0.10
Int distance: 90 Ext distance: 170 Note as well all Route-map used
Max paths: 8 To redistribute to eigrp
Active Interval: 3 minute(s)
Number of EIGRP interfaces: 2 (1 loopbacks)
Number of EIGRP passive interfaces: 0
Number of EIGRP peers: 1
Redistributing:
static route-map exp-ctx-st-2654211
ospf-default route-map exp-ctx-proto-2654211
direct route-map exp-ctx-st-2654211
coop route-map exp-ctx-st-2654211
bgp-132 route-map exp-ctx-proto-2654211
Tablemap: route-map exp-ctx-2654211-deny-external-tag , filter-configured
Graceful-Restart: Enabled
Stub-Routing: Disabled
NSF converge time limit/expiries: 120/0
NSF route-hold time limit/expiries: 240/0
EIGRP interface check
bdsol-aci32-leaf1# show ip eigrp interface vrf RD-BGP:RD
IP-EIGRP interfaces for process 1 VRF RD-BGP:RD
• control protocols
Leaf switch
• good place for troubleshooting
pod2-leaf1# netstat -tupn | egrep 179 Is TCP session established for BGP?
(No info could be read for "-p": geteuid()=15374 but you should be root.)
tcp 0 0 10.33.10.1:179 10.33.10.2:62415 ESTABLISHED -
tcp 0 0 10.0.168.95:44599 10.0.168.94:179 ESTABLISHED -
tcp 0 0 10.0.168.95:57261 10.0.168.92:179 ESTABLISHED -
Export Policies
Remote path /home/cfg-bkp
Remote port 22
Configuration Username cfgbkpadmin
Password ********
ACI-BACKUP
Parameter Value
Format JSON
Snapshot No
Export Destination remlocBKP Very important
Scheduler schedDaily to enable
Secure Props Enabled
• Reloading a switch is a fix, not a solution
• Sometimes a simple switch reload clears problems
• When switch reloads its configuration, it is cleared and freshly reconfigured by
APIC
• During power-cycle some interfaces might restart while their policy is not yet
programmed, causing problems
• Reload switch only if instructed by TAC or being aware of the
consequences
• It's very hard for TAC to troubleshoot a problem if the switch was reloaded
• On entering maintenance mode, the system
automatically shuts down all supported
protocols. In addition, all the front-panel
interfaces are shutdown on the switch
• Navigate to Fabric > Inventory > PodX and
right click the switch you wish to put in
maintenance mode
• Once in maintenance mode, the switch can
be reloaded and then returned to production
in a controlled manner
• On observing the faulty switch in the Fabric, the customer wants to isolate it
from the network so that traffic can flow through the rest of the fabric
• Customer wants to keep the isolated node for later debugging by support
engineer or Cisco TAC
?
• IS-IS set overload mode
• OSPF, EIGRP, and BGP do graceful shutdown
• vPC shuts down Keep-Alive & Peer Link
• Shutdown all front panel ports and directly
connected IFC ports
(Cuts Laser on the Port)
Leaf interface status remains up but it’s actually down on remote side. It’s
because we try to retain the information for further debugging.
• On active ACI fabrics TechSupport
can be several GB in size, making
remote storage a better choice
• Generating TechSupport will take
significant time to complete
• Remote location is defined by
navigating to Admin >
Import/Export > Remote
Locations > Actions > Create
Remote Location
• Once remote location is defined,
scheduled or on-demand,
TechSupport export can be
configured
• For on-demand TechSupport
individual switches and/or
controllers can be included in
operation
• Navigate to Admin >
Import/Export > TechSupport or
On-demand TechSupport
• Sometimes, while waiting for TechSupport, TAC can start support by
examining XML files exported from ACI
• End-result of XML export are smaller files that are generated faster
• Result files don't contain all the information that is collected using
TechSupport
• XML export is performed using icurl command on APIC
• Different UNIX tools can be used to modify output
• Result files then have to be manually transferred to external storage
Favorite XML for TAC - audit log
• What, when and who made changes on ACI fabric
On Premises
Cloud
IOT Edge
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Cisco ACI Anywhere
Any Workload, Any Location, Any Cloud
ACI Anywhere
Remote Leaf / Virtual PoD APIC / Multi-Site Multi-Cloud Extensions
IP IP
WAN WAN
physical virtual
• From release 4.0 • From the first release (1.0) • From release 4.1
• For small deployment • Most popular and standard ACI • For DCs with cabling restrictions
• 1 APIC + 2 virtual APICs topology
• Up to 2 spine + 4 leaf switches
• Replacing virtual APICs with
physical APICs Not sure what to pick? Go with 2-Tier!
• Expand to a full ACI fabric More about ACI Mini:
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/kb/Cisco-Mini-ACI-Fabric-and-Virtual-APICs.html
ACI Three-Tier Architecture
Migration from N2/5/7K to ACI
Single
Fabric
Not scalable
Feature Evolution
What if ACI must be extended to other locations?
1
Feature Evolution – Multipod
IPN
MP OSPF,PIM OSPF
F , IG , IGM • Single Fabric Extended
OSP P
BGP • Each pod is local
Spine Spine VPNv4/EVPN Spine Spine instance of ISIS and
ISIS ISIS COOP
Pod1 Pod2
COOP COOP
• Inter-pod connectivity
MPBG MPBG
P
through IPN
P
• Inter-pod BUM uses
Leaf Leaf Leaf Leaf Leaf Leaf PIM-Bidir
• BGP between pods to
share endpoints and
external routes
APIC APIC APIC
116
IPN Requirements
qOSPF
qDHCP relay
qJumbo MTU (9150 Bytes)
qRouted Subinterfaces
qPIM Bidir with at least /15 Mask
qQoS (optional)
117
ACI Multi-Pod
Supported Topologies
Intra-DC Two DC sites directly connected
L3
10G*/40G/100G
VM VM VM VM VM VM VM
Site1 Site 2
VM VM VM VM VM VM VM VM VM VM VM VM VM VM
No Multicast <= 1s RTT Required (MSO APIC) Single central management (MSO)
Phased Changes (Zones) Up to 12 Sites, distributed gateway
ACI Multi-Site
Software and Hardware Requirements
• Support all ACI leaf switches (1st Gen, EX, FX, FX2) Any Routed Network
Remote Leaf
• Satellite/Remote locations deployment
• Leverage Nexus 9K hardware capabilities
Any Routed IP Network
• Extend ACI policy
Extending the ACI policy model outside the main datacenter to remote
sites distributed over IP Backbone (Telco DCs, CoLo locations, etc.)
• No Multicast
• HREP for BUM traffic
vSwitch `
Hypervisor
Bare
ACI Main DC Metal
Remote Location
Local Traffic forwarding between endpoints
ACI Remote Leaf Requirements
Hardware & Software
IP Network
VM VM VM VM
Brownfield
Data Center C
VM VM VM VM VM VM VM
IP WAN
Layer 2
Layer 2
AVE AVE AVE
Hypervisor Hypervisor Hypervisor
Switching/routing and
policy enforcement • vPod allows to extend ACI connectivity and policies to compute resources deployed in
legacy DC networks
• No need to deploy any ACI HW in the remote network
Cloud ACI – Multicloud Extensions
Cloud Service Connectivity
Public Cloud
Public Cloud Public Cloud Bare Metal Cloud B
Container Hypervisor
s
ACI Anywhere ACI Virtual
ACI
Data Center ACI Anywhere ACI
Anywhere
Internet
Compute Edge
(Branch)
MPLS
Cloud
On Premises Exchange
Cloud
Benefits
SG SG SG
SG Rule SG Rule
Web APP DB
IP
Network
AWS Region
IP
Network
EPG EPG EPG
Contract Contract
Web VM VM APP
VM DB
EPG EPG
Contract Contract EPG DB SG Web SG Rule SG App SG Rule SG DB
Web App
Capabilities for native cloud Ability to do services Service chain AWS Native
services (native cloud load stitching from cloud to a services (Elastic Load Balancer)
balancers, target groups) L4-L7 on-premises based on policies
February 2019
Benefits
Site 1 Site 2
On-Prem DC Public Cloud
MSO
Azure
Region
VM VM VM Express Route
User VNET2 User VNET2
IP Network
Site 1 Site 2
On-Prem DC MSO Public Cloud
Azure
Region
MSO
VM VM VM VM VM VM VM VM VM
Multi-Cloud with AWS and Azure Cloud Sites supported w/o ACI Fabric on-Prem
With Out-of-Band MSO
February 2019
CI/CD
workflow HR apps
Web group Prod zone
Cloud
Center
VMM
Cisco APIC Application
components
Application
groups
Application
zones
Author Enforcement
Write me a email:
ratko.perlic@flintmail.com
Final evaluation:
https://tinyl.io/4UGX