One of the most intriguing (of course, if you get the hang of it) or depressing concepts of Cisco ACI is how the traffic forwarding takes place inside Cisco ACI.
Let's start with an endpoint sending the frame to the connected leaf:
- The leaf checks the destination MAC address of the frame. The leaf will do a layer 2 lookup to find the destination MAC. If the leaf knows the location of the destination MAC (either local to the leaf or some other leaf), it will determine the destination's EPG. Depending on the EPG, it would determine if a contract is required to allow the frame to forward.. If yes, it would look into the L3 and L4 contents of the packet to determine if the contract exists. If it does, allow the traffic, if not drop.
- If the frame has the destination MAC address of that of the leaf, it will be routed. This will be the standard destination IP based routing. If a route exists for the destination in the VRF of the source, it is routed. If not, it will be dropped.
With regards to the routing, the leaf always does a /32 lookup to determine the EPG of the destination, which may be the same EPG as the source, in which it will forward the packet.
[
Here, if the destination is local to the leaf -- it would be directly forwarded
if the destination is to another leaf, it would be VXLAN encapsulated and sent to the destination leaf TEP
]
If the /32 lookup fails, the leaf needs to check if:
- the destination IP is a local route -- i.e. learned from within the source's VRF OR leaked from another VRF
- the destination IP is remote -- i.e. learned from a L3 Out
Case 1:
If the destination address is a local route, the leaf will send it to the Proxy. The VXLAN header in this case will have the SP (source policy) set. This ensures that policy has not been already applied on this packet.
If the spine knows the destination, it will forward the packet and the policy will be applied at the egress leaf
Case 2:
If the destination is a remote route, it will determine the destination EPG based on the destination IP address, apply policy and if the traffic is allowed, it will forward it to the nearest external router.
i. The router may be locally attached (the source endpoint is connected to the border leaf) in which case the traffic will be locally forwarded.
ii. The router may be attached to another leaf (the source endpoint is not on the border leaf) in which case the packet will be VXLAN encapsulated and forwarded to the TEP of the border leaf
Comments
Post a Comment