PDF

Routing within a tenant

Want to summarize with AI?

Log in

The Cisco ACI fabric provides default gateway services for tenant subnets and routes traffic between fabric VXLAN networks.


The Cisco ACI fabric provides distributed default gateway functionality and routes traffic between fabric Virtual Extensible LAN (VXLAN) networks.

  • When you configure a subnet in the APIC, the fabric provides a virtual default gateway, also called a switched virtual interface (SVI).

  • The virtual default gateway is available on every switch that has an endpoint connected to the tenant subnet.

  • For a given tenant subnet, ingress interfaces throughout the fabric use the same router IP address and MAC address.


Layer 3 VNIDs facilitate transporting inter-subnet tenant traffic

Layer 3 VNIDs are identifiers assigned to each tenant VRF in the ACI fabric that enable routing and transport of inter-subnet tenant traffic across the fabric.

  • Each tenant receives a single L3 VNID, which is used to route traffic between subnets within the tenant.

  • The ACI fabric provides a distributed virtual default gateway, sharing the same IP and MAC address across all ingress interfaces for a tenant subnet.

  • VXLAN encapsulation and VTEP devices decouple endpoint identity from location, allowing efficient forwarding and routing without spanning-tree protocol.

How Layer 3 VNIDs Enable Inter-subnet Routing in ACI

The Cisco ACI fabric provides tenant default gateway functionality that routes between VXLAN networks. For each tenant, the fabric provides a virtual default gateway that spans all of the leaf switches assigned to the tenant. This gateway operates at the ingress interface of the first leaf switch connected to the endpoint, and all ingress interfaces share the same router IP and MAC address for a given tenant subnet.

The Cisco ACI fabric decouples the tenant endpoint address (its identifier) from the location of the endpoint, which is defined by its VXLAN tunnel endpoint (VTEP) address. Forwarding within the fabric is performed between VTEPs.

  • Each VTEP has a switch interface on the local LAN segment for local endpoint communication through bridging.

  • Each VTEP has an IP interface to the transport IP network, with a unique IP address identifying the VTEP device on the infrastructure VLAN.

The VTEP device uses its IP interface to encapsulate Ethernet frames and transmit them to the transport network. It also discovers remote VTEPs and learns remote MAC Address-to-VTEP mappings through its IP interface.

The VTEP in Cisco ACI maps the internal tenant MAC or IP address to a location using a distributed mapping database. After a lookup, the VTEP sends the original data packet encapsulated in VXLAN to the destination VTEP. The destination leaf switch de-encapsulates the packet and delivers it to the receiving host. This model enables a full mesh, single hop, loop-free topology without the need for spanning-tree protocol.

The VXLAN segments are independent of the underlying network topology, and the underlying IP network between VTEPs is independent of the VXLAN overlay. Routing is based on the outer IP address header, with the initiating VTEP as the source and the terminating VTEP as the destination.

For each tenant VRF, ACI assigns a single L3 VNID. Traffic is transported across the fabric according to the L3 VNID, and at the egress leaf switch, ACI routes the packet from the L3 VNID to the VNID of the egress subnet.

Traffic arriving at the fabric ingress and sent to the ACI default gateway is routed into the Layer 3 VNID, providing efficient forwarding for intra-tenant routed traffic. For example, traffic between two VMs in the same tenant but on different subnets only needs to reach the ingress switch interface before being routed to the correct destination.

To distribute external routes within the fabric, ACI route reflectors use multiprotocol BGP (MP-BGP). The fabric administrator provides the autonomous system (AS) number and specifies the spine switches that become route reflectors.

Note

Cisco ACI does not support IP fragmentation. Therefore, when you configure Layer 3 Outside (L3Out) connections to external routers, or Multi-Pod connections through an Inter-Pod Network (IPN), it is recommended that the interface MTU is set appropriately on both ends of a link.

IGP Protocol Packets (EIGRP, OSPFv3) are constructed by components based on the Interface MTU size. In Cisco ACI , if the CPU MTU size is less than the Interface MTU size and if the constructed packet size is greater than the CPU MTU, then the packet is dropped by the kernel, especially in IPv6. To avoid such control packet drops always configure the same MTU values on both the control plane and on the interface.

On some platforms, such as Cisco ACI , Cisco NX-OS, and Cisco IOS, the configurable MTU value does not take into account the Ethernet headers (matching IP MTU, and excluding the 14-18 Ethernet header size), while other platforms, such as IOS-XR, include the Ethernet header in the configured MTU value. A configured value of 9000 results in a max IP packet size of 9000 bytes in Cisco ACI , Cisco NX-OS, and Cisco IOS, but results in a max IP packet size of 8986 bytes for an IOS-XR untagged interface.

For the appropriate MTU values for each platform, see the relevant configuration guides.

We highly recommend that you test the MTU using CLI-based commands. For example, on the Cisco NX-OS CLI, use a command such as ping 1.1.1.1 df-bit packet-size 9000 source-interface ethernet 1/1.

Figure 1. ACI Decouples Identity and Location
Figure 2. Layer 3 VNIDs Transport ACI Inter-subnet Tenant Traffic

Router peering and route distribution

Summary

Router peering and route distribution involve the following components:

  • Leaf switches establish routing protocol peering sessions with external routers and maintain forwarding tables containing the learned routes.

  • External routers establish routing protocol peering sessions and advertise WAN routes.

  • Spine switches act as route reflectors and distribute external routes throughout the fabric.

  • Tenant endpoints send packets to the default gateway in the Cisco ACI fabric.

Workflow

Figure 3. Router peering
Leaf switches peer with external routers, and spine switches distribute the learned external routes throughout the fabric.

Router peering and route distribution occur as follows:

  1. The leaf switch interface is configured to establish a routing protocol peering session with the external router.

  2. The leaf switch sends the routes learned through the peering session to the spine switches.

  3. The spine switches act as route reflectors and distribute the external routes to all leaf switches that have interfaces belonging to the same tenant.

    The leaf switches install the routes as longest prefix match (LPM) entries in their forwarding tables. Each entry identifies the virtual tunnel endpoint (VTEP) IP address of the remote leaf switch to which the external router is connected.

  4. WAN routes do not use a forwarding proxy. If the WAN routes exceed the capacity of a leaf switch forwarding table, the leaf switch drops the traffic.

  5. Because the external router is not the default gateway, tenant endpoints send their packets to the default gateway in the Cisco ACI fabric.


Bridged interface to an external router

With a bridged interface, an external router provides the default gateway for the tenant virtual network identifier (VNID).

The Cisco ACI fabric does not maintain routing information about the external router. The APIC statically assigns the leaf switch interface to its endpoint group (EPG).

Bridged interface topology

Figure 4. Bridged external router

Route reflectors

An ACI fabric route reflector is a spine switch that

  • uses MP-BGP to distribute external routes throughout the fabric

  • requires you to select spine switches for the route reflector role

  • requires an autonomous system number, and

  • provides redundancy when you configure at least two spine switches as route reflectors in each pod.

External connectivity and route distribution

After you enable route reflectors, configure L3Outs on leaf switches to connect the fabric to external networks. Leaf switches that provide this connectivity are called border leaf switches.

Each border leaf switch exchanges routes with external devices through dynamic routing protocols or static routes. The spine route reflectors then distribute these routes to all leaf switches in the fabric.

Note

For the maximum number of routes supported on each leaf switch, refer to the Verified Scalability Guide for Cisco APIC for your release.


External connectivity through a Layer 3 Outside

A Layer 3 Outside (L3Out) is a tenant configuration object that provides connectivity between the Cisco ACI fabric and an external routed network.

  • Supports routing protocols such as Open Shortest Path First (OSPF).

  • Uses multiprotocol Border Gateway Protocol (MP-BGP) route reflectors to distribute external routes within the fabric.

  • Operates within a specific tenant, such as the mgmt tenant.

External connectivity configuration requirements

Configuring external connectivity requires the following components:

  1. Define the L3Out in the target tenant.

  2. Configure a routing protocol, such as OSPF, to exchange routes with the external network.

  3. Configure MP-BGP route reflectors to distribute the external routes within the fabric.


Configure MP-BGP route reflector using the GUI

Procedure

  1. From the menu bar, choose System > System Settings.

  2. In the Navigation pane, right-click BGP Route Reflector, and choose Create Route Reflector Node.

  3. In the Create Route Reflector Node dialog box, choose the spine switch that you want to configure from the Spine Node drop-down list, and click Submit.

    Note

    Repeat the node-creation process for each additional spine switch.

    The APIC designates the spine switch as a route reflector.

  4. In the BGP Route Reflector properties area, enter the autonomous system number in the Autonomous System Number field, and click Submit.

    Note

    If the external router uses BGP, the autonomous system number must match the autonomous system number configured on the router connected to the leaf switch. If the fabric learns routes through static routing or OSPF, you can enter any valid autonomous system number.

  5. From the menu bar, choose Fabric > Fabric Policies > Pods > Policy Groups.

  6. In the Navigation pane, right-click Policy Groups, and choose Create Pod Policy Group.

  7. In the Create Pod Policy Group dialog box, enter a name for the pod policy group in the Name field.

  8. From the BGP Route Reflector Policy drop-down list, choose the BGP route reflector policy, and click Submit.

    The APIC associates the BGP route reflector policy with the pod policy group and enables the BGP process on the leaf switches.

  9. From the menu bar, choose Fabric > Fabric Policies > Profiles > Pod Profile default > default.

  10. In the Work pane, choose the pod policy group that you created from the Fabric Policy Group drop-down list, and click Submit.

    The APIC applies the pod policy group to the fabric policy group.


MP-BGP route reflectors for the Cisco ACI fabric

A multiprotocol Border Gateway Protocol (MP-BGP) route reflector simplifies internal BGP scaling by enabling a spine switch to distribute routes among leaf switches in the Cisco ACI fabric.

  • Requires an active MP-BGP process.

  • Uses designated spine switches as route reflectors.

MP-BGP route reflector configuration example

Note

In this example, the BGP fabric autonomous system number (ASN) is 100, and spine switches 104 and 105 are the MP-BGP route reflectors.

The following commands configure the BGP fabric ASN and designate the route reflectors:

apic1(config)# bgp-fabric
				apic1(config-bgp-fabric)# asn 100
				apic1(config-bgp-fabric)# route-reflector spine 104,105

Verify the MP-BGP route reflector configuration

Procedure

  1. Verify the MP-BGP process on each leaf switch.

    1. Use Secure Shell (SSH) to log in to each leaf switch as an administrator.
    2. Enter the show processes | grep bgp command and verify that the process state is S.

      A state of NR indicates that the process is not running and that the configuration was unsuccessful.

  2. Verify the autonomous system number on each spine switch.

    1. Use SSH to log in to each spine switch as an administrator.
    2. Enter these commands in the shell:

      Example:

      cd /mit/sys/bgp/inst
      								grep asn summary

    The command displays the configured autonomous system number. A value of 0 indicates that the configuration was unsuccessful.


Create an OSPF L3Out for the management tenant by using the GUI

  • Verify that the router ID and logical interface profile IP address are different and do not overlap.

  • This procedure creates an OSPF L3Out for the management tenant. To create an OSPF L3Out for another tenant, select that tenant and create a VRF for it.

  • For more information, see Cisco APIC and Transit Routing.

Procedure

  1. On the menu bar, choose Tenants > mgmt.

  2. In the Navigation pane, expand Networking > L3Outs.

  3. Right-click L3Outs and choose Create L3Out.

    The Create L3Out wizard appears.

  4. In the Identity window of the Create L3Out wizard, configure the L3Out.

    1. In the Name field, enter a name, such as RtdOut.
    2. From the VRF drop-down list, choose the in-band VRF, such as inb.
      Note

      This selection associates the L3Out with the in-band VRF.

    3. From the L3 Domain drop-down list, choose the appropriate domain.
    4. Check the OSPF check box.
    5. In the OSPF Area ID field, enter the area ID.
    6. For OSPF Area Control, check the appropriate check boxes.
    7. For OSPF Area Type, choose the appropriate area type.
    8. For OSPF Area Cost, enter the appropriate value.
    9. Click Next.

      The Nodes and Interfaces window appears.

  5. In the Nodes and Interfaces window, configure the nodes and interfaces.

    1. Uncheck the Use Defaults check box.

      You can now edit the Node Profile Name field.

    2. In the Node Profile Name field, enter a name, such as borderLeaf.
    3. From the Node ID drop-down list, choose the first node, such as leaf1.
    4. In the Router ID field, enter a unique router ID.
    5. In the Loopback Address field, retain the router ID, enter a different IP address, or clear the field if you do not want to use a loopback address.
      Note

      The Loopback Address field is automatically populated with the value from the Router ID field. This behavior is equivalent to the Use Router ID for Loopback Address option in previous releases.

    6. As required, configure the Interface, IP Address, Interface Profile Name, and MTU fields for the first node.
    7. In the Nodes area, click the + icon to add another node.
    8. From the Node ID drop-down list, choose the second node, such as leaf2.
    9. In the Router ID field, enter a unique router ID for the second node.
    10. In the Loopback Address field, retain the router ID, enter a different IP address, or clear the field if you do not want to use a loopback address.
      Note

      The Loopback Address field is automatically populated with the value from the Router ID field. This behavior is equivalent to the Use Router ID for Loopback Address option in previous releases.

    11. As required, configure the Interface, IP Address, Interface Profile Name, and MTU fields for the second node.
    12. Click Next.

      The Protocols window appears.

  6. In the Protocols window, choose default in the Policy area, and then click Next.

    The External EPG window appears.

  7. In the External EPG window, configure the external EPG.

    1. In the Name field, enter a name for the external network, such as extMgmt.
    2. Uncheck the Default EPG for all external networks check box.

      The Subnets area appears.

    3. Click the + icon.

      The Create Subnet dialog appears.

    4. In the IP address field, enter the subnet IP address and prefix length.
    5. For Scope, check the appropriate check boxes, and then click OK.
    6. In the External EPG window, click Finish.

      The L3Out, such as RtdOut, appears in the L3Outs area of the Work pane.


Create an OSPF external routed network for a tenant by using the NX-OS-style CLI

Configuring external routed connectivity requires the following tasks:

  • Create a VRF in the tenant.

  • Configure Layer 3 connectivity for the VRF on the border leaf switches that connect to the external routed network. This configuration can include interfaces, routing protocols such as BGP, OSPF, or EIGRP, protocol parameters, and route maps.

  • Create external Layer 3 EPGs in the tenant and deploy them on the border leaf switches. External routed subnets in a VRF that share the same policy within the Cisco ACI fabric form one external Layer 3 EPG, also called a prefix EPG.

Complete the configuration in the following modes:

  • Tenant configuration mode: Create the VRF and configure the external Layer 3 EPG.

  • Leaf configuration mode: Configure Layer 3 connectivity and deploy the external Layer 3 EPG.

Before you create an OSPF external routed network, select a tenant and create a VRF in that tenant.

Note

The examples provide external routed connectivity to the web EPG in the OnlineStore application profile for the exampleCorp tenant.

Procedure

  1. Configure the VLAN domain.

    Example:

    apic1(config)# vlan-domain dom_exampleCorp
    						apic1(config-vlan)# vlan 5-1000
    						apic1(config-vlan)# exit
  2. Create the tenant VRF and enable policy enforcement.

    Example:

    apic1(config)# tenant exampleCorp
    						apic1(config-tenant)# vrf context exampleCorp_v1
    						apic1(config-tenant-vrf)# contract enforce
    						apic1(config-tenant-vrf)# exit
  3. Create the tenant bridge domain and configure its gateway address for public advertisement.

    The scope public option allows the routing protocol to advertise the gateway address to the external Layer 3 network.

    Example:

    apic1(config-tenant)# bridge-domain exampleCorp_b1
    						apic1(config-tenant-bd)# vrf member exampleCorp_v1
    						apic1(config-tenant-bd)# exit
    						apic1(config-tenant)# interface bridge-domain exampleCorp_b1
    						apic1(config-tenant-interface)# ip address 172.1.1.1/24 scope public
    						apic1(config-tenant-interface)# exit
  4. Configure the tenant VRF on the border leaf switch.

    Example:

    apic1(config)# leaf 101
    						apic1(config-leaf)# vrf context tenant exampleCorp vrf exampleCorp_v1
  5. Configure the OSPF area and outbound route map.

    Example:

    apic1(config-leaf)# router ospf default
    						apic1(config-leaf-ospf)# vrf member tenant exampleCorp vrf exampleCorp_v1
    						apic1(config-leaf-ospf-vrf)# area 0.0.0.1 route-map map100 out
    						apic1(config-leaf-ospf-vrf)# exit
    						apic1(config-leaf-ospf)# exit
  6. Assign the VRF to the subinterface and enable OSPF for the area.

    Note

    Before you configure the subinterface, use the no switchport command to convert the main interface, Ethernet 1/11 in this example, to a Layer 3 interface. Assign the main interface to the dom_exampleCorp VLAN domain, which contains the encapsulation VLAN used by the subinterface. In the interface name ethernet 1/11.500, 500 is the encapsulation VLAN.

    Example:

    apic1(config-leaf)# interface ethernet 1/11
    						apic1(config-leaf-if)# no switchport
    						apic1(config-leaf-if)# vlan-domain member dom_exampleCorp
    						apic1(config-leaf-if)# exit
    						apic1(config-leaf)# interface ethernet 1/11.500
    						apic1(config-leaf-if)# vrf member tenant exampleCorp vrf exampleCorp_v1
    						apic1(config-leaf-if)# ip address 157.10.1.1/24
    						apic1(config-leaf-if)# ip router ospf default area 0.0.0.1
  7. Configure the external Layer 3 EPG policy.

    The policy identifies the external subnet and consumes the contract that provides connectivity to the web EPG.

    Example:

    apic1(config)# tenant exampleCorp
    						apic1(config-tenant)# external-l3 epg l3epg100
    						apic1(config-tenant-l3ext-epg)# vrf member exampleCorp_v1
    						apic1(config-tenant-l3ext-epg)# match ip 145.10.1.0/24
    						apic1(config-tenant-l3ext-epg)# contract consumer web
    						apic1(config-tenant-l3ext-epg)# exit
    						apic1(config-tenant)# exit
  8. Deploy the external Layer 3 EPG on the border leaf switch.

    Example:

    apic1(config)# leaf 101
    						apic1(config-leaf)# vrf context tenant exampleCorp vrf exampleCorp_v1
    						apic1(config-leaf-vrf)# external-l3 epg l3epg100