Quick Intro
The main purpose of the Underlay network is to help with establishing communication between VTEP (Virtual Tunnel Endpoint) interfaces.
The underlay network is typically built using traditional IP routing protocols like OSPF/IS-IS or BGP and is responsible for forwarding packets between network devices based on their IP addresses. This layer ensures that the VXLAN tunnels, which form the overlay network, have a reliable path for data transmission. The underlay network handles the transport of encapsulated VXLAN traffic, enabling the overlay to focus on delivering L2/L3 services such as MAC address learning and routing without worrying about the physical topology beneath.
In my example, I’ll be using OSPF, to simplify the configuration process. On such a small scale it’ll be hard to see any specific benefits achievable using IS-IS as a routing protocol for the Underlay Network.
Following the IP address schema I defined in the first Part I’ll assign IP addresses on the Loopbacks and interconnecting interfaces
Loopbacks:
| Hostname | Interface | IP |
| dc01-spine01 | Loopback0 | 10.255.255.1/32 |
| dc01-spine02 | Loopback0 | 10.255.255.2/32 |
| dc01-r01-leaf01 | Loopback0 | 10.255.255.3/32 |
| dc01-r01-leaf02 | Loopback0 | 10.255.255.4/32 |
| dc01-r02-leaf01 | Loopback0 | 10.255.255.5/32 |
| dc01-r02-leaf02 | Loopback0 | 10.255.255.6/32 |
| dc01-r03-leaf01 | Loopback0 | 10.255.255.7/32 |
| dc01-r03-leaf02 | Loopback0 | 10.255.255.8/32 |
Interconnecting interfaces:
Interconnects will use 172.16.1.0/24 network.
Each interconnect interface will be configured as /30 subnet, where the lowest IP address will be assigned to the spine switch.
I’ll start from the left side of the topology and will continue with all the following interconnect interfaces, hence as a result I’ll have 12 x /30 networks.
Configuration:
As an example, I’ll post configuration related to the first leaf switch only, the rest of the switches will be configured similarly:
feature ospf
!
router ospf UNDERLAY
router-id 10.255.255.3
name-lookup
passive-interface default
!
interface loopback0
description UNDERLAY
ip address 10.255.255.3/32
ip router ospf UNDERLAY area 0.0.0.0
!
interface Ethernet1/1
no switchport
ip address 172.16.1.2/30
ip ospf network point-to-point
no ip ospf passive-interface
ip router ospf UNDERLAY area 0.0.0.0
no shutdown
!
interface Ethernet1/2
no switchport
ip address 172.16.1.26/30
ip ospf network point-to-point
no ip ospf passive-interface
ip router ospf UNDERLAY area 0.0.0.0
no shutdown
!
ip host dc01-spine01 10.255.255.1
ip host dc01-spine02 10.255.255.2
!
After applying configuration to spines and leaves the OSPF neighbors output will show successfully adjacent peers
dc01-r01-leaf01# show ip ospf neighbors
OSPF Process ID UNDERLAY VRF default
Total number of neighbors: 2
Neighbor ID Pri State Up Time Address Interface
dc01-spine01 1 FULL/ - 02:28:59 172.16.1.1 Eth1/1
dc01-spine02 1 FULL/ - 00:34:03 172.16.1.25 Eth1/2
dc01-spine01# sh ip ospf neighbors
OSPF Process ID UNDERLAY VRF default
Total number of neighbors: 6
Neighbor ID Pri State Up Time Address Interface
dc01-r01-leaf01 1 FULL/ - 02:19:50 172.16.1.2 Eth1/1
dc01-r02-leaf01 1 FULL/ - 00:07:17 172.16.1.10 Eth1/2
dc01-r03-leaf01 1 FULL/ - 00:01:56 172.16.1.18 Eth1/3
dc01-r01-leaf02 1 FULL/ - 00:09:28 172.16.1.6 Eth1/4
dc01-r02-leaf02 1 FULL/ - 00:03:43 172.16.1.14 Eth1/5
dc01-r03-leaf02 1 FULL/ - 00:00:46 172.16.1.22 Eth1/6
Also, all Leaf switches should have routes to every Loopback within the Underlay network:
dc01-r01-leaf01# sh ip route ospf | grep -A 2 /32
10.255.255.1/32, ubest/mbest: 1/0
*via 172.16.1.1, Eth1/1, [110/41], 02:28:40, ospf-UNDERLAY, intra
10.255.255.2/32, ubest/mbest: 1/0
*via 172.16.1.25, Eth1/2, [110/41], 00:36:48, ospf-UNDERLAY, intra
10.255.255.4/32, ubest/mbest: 2/0
*via 172.16.1.1, Eth1/1, [110/81], 00:20:04, ospf-UNDERLAY, intra
*via 172.16.1.25, Eth1/2, [110/81], 00:20:04, ospf-UNDERLAY, intra
10.255.255.5/32, ubest/mbest: 2/0
*via 172.16.1.1, Eth1/1, [110/81], 00:19:12, ospf-UNDERLAY, intra
*via 172.16.1.25, Eth1/2, [110/81], 00:19:04, ospf-UNDERLAY, intra
10.255.255.6/32, ubest/mbest: 2/0
*via 172.16.1.1, Eth1/1, [110/81], 00:15:39, ospf-UNDERLAY, intra
*via 172.16.1.25, Eth1/2, [110/81], 00:15:36, ospf-UNDERLAY, intra
10.255.255.7/32, ubest/mbest: 2/0
*via 172.16.1.1, Eth1/1, [110/81], 00:13:51, ospf-UNDERLAY, intra
*via 172.16.1.25, Eth1/2, [110/81], 00:13:43, ospf-UNDERLAY, intra
10.255.255.8/32, ubest/mbest: 2/0
*via 172.16.1.1, Eth1/1, [110/81], 00:12:31, ospf-UNDERLAY, intra
*via 172.16.1.25, Eth1/2, [110/81], 00:12:33, ospf-UNDERLAY, intra
This part completes the underlay configuration and will open a road for the next stage of the configuration.
Leave a comment