Cisco ACI Transit Routing: A Step-by-Step Configuration Guide

Belete Ageze 2xCCIE | CCDE

In Cisco ACI, transit routing is the powerful capability that allows the fabric to act as a seamless intermediary, forwarding traffic between two or more external Layer 3 networks. This comprehensive guide breaks down the complex process of configuring ACI transit routing, walking you through the essential steps from setting up your route policies and match rules to applying the route control profile to the L3out external EPG. By the end of this article, you’ll have a clear, actionable understanding of how to enable efficient, policy-driven connectivity between your isolated networks.

What is ACI Transit Routing?

The ACI fabric acts as a central hub for transit routing, enabling the seamless flow of traffic between different Layer 3 networks / domains. This powerful feature allows a border leaf to redistribute routes in both directions, connecting separate routing domains through the ACI fabric. Think of it like a highway interchange: an L3out is configured to import traffic coming from an external network, an L3 network / domain, into the ACI fabric. A separate L3out is then defined to export that same traffic out of the fabric to a different L3 network / domain and to its final destination network. This bidirectional process ensures a smooth and efficient transit of data between the two domains.

Creating route maps in ACI for transit routing is all about controlling the flow of traffic using prefix lists. Each prefix list specifies which subnets from the bridge domains, external networks and other VRFs should be either imported or exported. The route control policies are configured within an L3Out, and the ACI fabric uses the “enforce route control” property to determine how the traffic is managed. By default, ACI allows all routes to be imported but is more restrictive on what it exports. These carefully defined policies, prefixes and routes are what form a prefix-based route control.

ACI Transit Routing Use cases

The use case for the ACI transit routing is to provide full connectivity between two or multiple isolated L3 domains. It also can act as a backup path between L3 domains. The layer 3 domains such as external pods, NSX-T data center, mainframes, service nodes, or WAN routers can peer with the ACI fabric to use its transit functionality between them.

Since multiple L3out policies can be deployed on a single node or multiple nodes in the fabric, a variety of protocol combinations are supported. Every protocol combination can be deployed on a single node using multiple l3out policies or multiple nodes using multiple l3out policies. Deployments of more than two protocols in different l3out policies in the fabric are supported.

Supported Transit Combination Matrix for ACI 5.2(X) – https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/5x/l3-configuration/cisco-apic-layer-3-networking-configuration-guide-52x/m_transit_routing_v2.html

ACI Transit Routing between two L3 Domains Connected with eBGP

In this section, transit routing between two L3 domains connected using eBGP to the ACI fabric (no direct connectivity between the two domains) will be demonstrated.

The Setup uses an ACI fabric running 4.2(6h) and CSR 1000V (Cloud Services Router) 15.5(3)S3.

Assumptions –

  • The two L3 domains are Data Center Core and NSX virtual environment.
  • eBGP between Core – ACI and NSX – ACI is already configured.
  • The IP addressing and the logical setup is as shown below.
  • Each L3 domains peer with two border leaf switches.
  • L3 domains in the lab utilize only one CSR 1000V, in production environment redundant router should be used for resiliency.
  • Contract between EPGs is not part of this demonstration. This solely focuses on control plane (routing).
  • Uses BGP community string to control the redistribution of routes. There are other ways like IP prefix-list to identify and control routes for redistribution, community string is only one way.
  • Uses Route map at the L3Out level. It’s also possible to apply the route-map at the neighbor level for BGP peering.

Cisco ACI Transit Routing configuration - IP addressing

Lab Topology

Cisco ACI Transit Routing Topology Diagram for testing the step by step configuration

Expected result –

  1. Only subnets (10.10.1.0/24 & 10.10.2.0/24) tagged with 64525:10 from the core domain will be advertised to the NSX domain through the ACI fabric.
  2. Only subnets (10.20.3.0/24 & 10.20.4.0/24) tagged with 65525:20 from the NSX domain will be advertised to the core domain through the ACI fabric.

Step 1: Verify the eBGP Neighbor-ship and BGP Routes

ACI

The ‘show ip bgp summary vrf BASH_B:BASH’ show established neighborship with both Core and NSX domains.

ACI transit routing BGP route output
ACI transit routing IP routing table output

L3 Domain – Core

The ‘show ip bgp summary’ show an established neighborship with the ACI fabric but the ‘show ip route bgp’ shows no route learned from the BGP peering.

ACI transit routing BGP route output
ACI transit routing IP routing table output for BGP

L3 Domain – NSX

The ‘show ip bgp summary’ show an established neighborship with the ACI fabric but the ‘show ip route bgp’ shows no route learned from the BGP peering.

ACI transit routing BGP route output
ACI transit routing IP routing table output

Step 2: Verify the eBGP Learned Subnet has the Community as Expected on the ACI Boarder Leaf Switches

AS expected, 10.10.1.0/24 & 10.10.2.0/24 from Core, and 10.20.3.0/24 & 10.20.4.0/24 have the community string attached.

BGP community output

Step 3: Configure the Transit Route Profile so that the Routes with the Right Community will be Advertised to the Opposite L3 Domain

Step 3.1: Configure the Match Rule for the Community Strings

  • Match 64525:10 for routes from L3 domain Core
  • Match 65525:20 for routes from L3 domain NSX

This is configured under Tenant > Policies > Protocol > Match Rules

Cisco ACI Transit Routing - Config UI for creating match rule

Step 3.2: Configure the Route-map for Import and Export Route Control

This is configured under Tenant > Networking > L3Outs > [L3Outs name] > Route map for import and export route control

Cisco ACI Transit Routing - Config UI for creating route map for import and export route control

Step 4: Apply the Route Control Profile to the L3out External EPG (InstP)

The route control profile is applied to the external EPG to have the policy at the L3Out level. The above created profile is applied on the export direction for both respected L3Outs.

This is configured under Tenant > Networking > L3Outs > [L3Outs name] > External EPGs > [External EPGs name]

Cisco ACI Transit Routing - Config UI for applying the route map to the external EPG route control profile

Step 5: Verify the Routes Tagged with the Right Community are Routed between the two Isolated L3 Domains Through the ACI Fabric

L3 Domain – Core

The tagged routes from the NSX domain are seen on the Core domain as expected for proper functioning of the VMs on the NSX environment.

Verification - ACI IP route output for BGP

L3 Domain – NSX

The tagged routes from the core domain are seen on the NSX domain as expected for proper functioning of the VMs on the NSX environment.

Verification - ACI IP route output for BGP

Leave a Comment

Your email address will not be published. Required fields are marked *