Skip to content

Leaf–spine fabric

The building block of a data center: each leaf connects to every spine. Clients attach at the leaves. This example describes the physical topology; configuring routing is your next experiment.

name: fabric
 
topology:
  defaults:
    kind: nokia_srlinux
    image: ghcr.io/nokia/srlinux:latest
 
  nodes:
    spine1:
      type: ixrd3
    spine2:
      type: ixrd3
    leaf1:
      type: ixrd2
    leaf2:
      type: ixrd2
    leaf3:
      type: ixrd2
    client1:
      kind: linux
      image: ghcr.io/srl-labs/network-multitool:latest
    client2:
      kind: linux
      image: ghcr.io/srl-labs/network-multitool:latest
    client3:
      kind: linux
      image: ghcr.io/srl-labs/network-multitool:latest
 
  links:
    - endpoints: [spine1:e1-1, leaf1:e1-49]
    - endpoints: [spine1:e1-2, leaf2:e1-49]
    - endpoints: [spine1:e1-3, leaf3:e1-49]
    - endpoints: [spine2:e1-1, leaf1:e1-50]
    - endpoints: [spine2:e1-2, leaf2:e1-50]
    - endpoints: [spine2:e1-3, leaf3:e1-50]
    - endpoints: [leaf1:e1-1, client1:eth1]
    - endpoints: [leaf2:e1-1, client2:eth1]
    - endpoints: [leaf3:e1-1, client3:eth1]

Read the topology

The defaults section supplies the SR Linux kind and image to the fabric nodes. Clients override these with a Linux image. A link lists exactly two endpoints, each written as node:interface.

Select leaf2 to see its node definition, then follow its uplinks to both spines. Each leaf has one client connection and two fabric uplinks.

Run it

Download the YAML and open it in a connected app, then deploy. This lab requires a Linux host with enough resources for five SR Linux containers and three Linux clients. See SR Linux requirements before deploying.

The file contains no routing or client IP configuration. It is a starting point for experimenting with your own underlay and overlay. For a ready-to-ping example, try the Linux playground.