Skip to content
LinkState
Go back

North south return path after anycast gateway ingress

Introduction to VXLAN Fabric and External Service Integration

Overview of VXLAN Fabric Architecture

VXLAN (Virtual Extensible LAN) fabric is a technology used to extend Layer 2 (L2) networks over Layer 3 (L3) infrastructure, allowing for the creation of a scalable and flexible network architecture. In a VXLAN fabric, Layer 2 networks are extended using VXLAN tunnels, which are established between Virtual Tunnel Endpoints (VTEPs). VTEPs are responsible for encapsulating and decapsulating VXLAN packets, allowing traffic to be forwarded between different Layer 2 networks.

The VXLAN fabric architecture consists of several components, including:

External Service Integration with VXLAN

External services, such as firewalls, load balancers, and routers, can be integrated with a VXLAN fabric to provide additional functionality and security. These services can be connected to the VXLAN fabric using a variety of methods, including:

Returning Flow from External Service into VXLAN Fabric

IRB Lookup Process

The IRB (Integrated Routing and Bridging) lookup process is used to determine how traffic is forwarded between different Layer 2 networks in a VXLAN fabric. The IRB lookup process involves the following steps:

  1. The VTEP receives a packet from an external service.
  2. The VTEP performs an IRB lookup to determine the destination VNI and VLAN.
  3. The VTEP forwards the packet to the destination VTEP based on the IRB lookup result.

IRB Lookup Failure Scenarios

IRB lookup failures can occur due to a variety of reasons, including:

IRB Lookup Configuration Examples

The following is an example of how to configure IRB lookup on a Cisco Nexus 9000 switch:

switch# configure terminal
switch(config)# interface nve 1
switch(config-if-nve)# member vni 1000
switch(config-if-nve)# ingress-replication protocol bgp

This configuration example shows how to configure IRB lookup on a Cisco Nexus 9000 switch using the nve interface and member vni command.

VTEP Resolution Mechanisms

VTEP resolution mechanisms are used to determine the IP address of the VTEP that is responsible for forwarding traffic to a particular VNI. The VTEP resolution mechanisms involve the following steps:

  1. The VTEP receives a packet from an external service.
  2. The VTEP performs a VTEP resolution to determine the IP address of the VTEP that is responsible for forwarding traffic to the destination VNI.
  3. The VTEP forwards the packet to the destination VTEP based on the VTEP resolution result.

VTEP Resolution Failure Scenarios

VTEP resolution failures can occur due to a variety of reasons, including:

VTEP Resolution Configuration Examples

The following is an example of how to configure VTEP resolution on a Cisco Nexus 9000 switch:

switch# configure terminal
switch(config)# vtep 1.1.1.1
switch(config-vtep)# vni 1000

This configuration example shows how to configure VTEP resolution on a Cisco Nexus 9000 switch using the vtep command.

Service-Leaf Hairpin Choices and Their Impact

Service-Leaf Hairpin Architecture

The service-leaf hairpin architecture is used to forward traffic between different Layer 2 networks in a VXLAN fabric. The service-leaf hairpin architecture involves the following components:

Hairpin Choice Failure Scenarios

Hairpin choice failures can occur due to a variety of reasons, including:

Hairpin Choice Configuration Examples

The following is an example of how to configure hairpin choices on a Cisco Nexus 9000 switch:

switch# configure terminal
switch(config)# interface ethernet 1/1
switch(config-if)# hairpin vni 1000

This configuration example shows how to configure hairpin choices on a Cisco Nexus 9000 switch using the hairpin command.

Troubleshooting Returning Flow Issues

Identifying IRB Lookup Issues

IRB lookup issues can be identified using a variety of methods, including:

CLI Commands for IRB Lookup Troubleshooting

The following are some CLI commands that can be used to troubleshoot IRB lookup issues:

switch# show irb
switch# show irb vni 1000
switch# debug irb

These commands can be used to display the IRB configuration, identify any issues with the IRB lookup process, and debug the IRB lookup process.

Identifying VTEP Resolution Issues

VTEP resolution issues can be identified using a variety of methods, including:

CLI Commands for VTEP Resolution Troubleshooting

The following are some CLI commands that can be used to troubleshoot VTEP resolution issues:

switch# show vtep
switch# show vtep vni 1000
switch# debug vtep

These commands can be used to display the VTEP configuration, identify any issues with the VTEP resolution process, and debug the VTEP resolution process.

Identifying Hairpin Choice Issues

Hairpin choice issues can be identified using a variety of methods, including:

CLI Commands for Hairpin Choice Troubleshooting

The following are some CLI commands that can be used to troubleshoot hairpin choice issues:

switch# show hairpin
switch# show hairpin vni 1000
switch# debug hairpin

These commands can be used to display the hairpin configuration, identify any issues with the hairpin choice process, and debug the hairpin choice process.

Code Examples for Configuring IRB, VTEP, and Hairpin Choices

IRB Configuration Code Examples

CLI Configuration for IRB

The following is an example of how to configure IRB using CLI commands:

switch# configure terminal
switch(config)# interface nve 1
switch(config-if-nve)# member vni 1000
switch(config-if-nve)# ingress-replication protocol bgp

This configuration example shows how to configure IRB using the nve interface and member vni command.

API Configuration for IRB

The following is an example of how to configure IRB using API commands:

import requests
url = "https://switch-ip-address/api/v1/nve/1"
data = {
    "member_vni": 1000,
    "ingress_replication_protocol": "bgp"
}
response = requests.post(url, json=data)

This configuration example shows how to configure IRB using the requests library and API commands.

VTEP Configuration Code Examples

CLI Configuration for VTEP

The following is an example of how to configure VTEP using CLI commands:

switch# configure terminal
switch(config)# vtep 1.1.1.1
switch(config-vtep)# vni 1000

This configuration example shows how to configure VTEP using the vtep command.

API Configuration for VTEP

The following is an example of how to configure VTEP using API commands:

import requests
url = "https://switch-ip-address/api/v1/vtep/1.1.1.1"
data = {
    "vni": 1000
}
response = requests.post(url, json=data)

This configuration example shows how to configure VTEP using the requests library and API commands.

Hairpin Choice Configuration Code Examples

CLI Configuration for Hairpin Choices

The following is an example of how to configure hairpin choices using CLI commands:

switch# configure terminal
switch(config)# interface ethernet 1/1
switch(config-if)# hairpin vni 1000

This configuration example shows how to configure hairpin choices using the hairpin command.

API Configuration for Hairpin Choices

The following is an example of how to configure hairpin choices using API commands:

import requests
url = "https://switch-ip-address/api/v1/interface/ethernet/1/1"
data = {
    "hairpin_vni": 1000
}
response = requests.post(url, json=data)

This configuration example shows how to configure hairpin choices using the requests library and API commands.

Scaling Limitations and Considerations

Scaling IRB Lookup and VTEP Resolution

IRB lookup and VTEP resolution can be scaled using a variety of methods, including:

Scaling Hairpin Choices and Service-Leaf Architecture

Hairpin choices and service-leaf architecture can be scaled using a variety of methods, including:

Best Practices for Designing and Implementing VXLAN Fabric with External Services

Design Considerations for IRB Lookup and VTEP Resolution

The following are some design considerations for IRB lookup and VTEP resolution:

Design Considerations for Hairpin Choices and Service-Leaf Architecture

The following are some design considerations for hairpin choices and service-leaf architecture:

Implementation Best Practices for VXLAN Fabric with External Services

The following are some implementation best practices for VXLAN fabric with external services:


Share this post on:

Previous Post
More NIC queues do not mean linear scaling
Next Post
One-Way EVPN Traffic With Conflicting Clues