Skip to content

Leaf–spine fabric

The shape of most data center networks: every leaf connects to every spine, and clients hang off the leaves. This file is wiring only; bring your own routing.

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 file

  • defaults gives every node the SR Linux kind and image. The clients override both with a Linux image.
  • Each link has two endpoints written as node:interface. SR Linux names its ports e1-1, e1-2, …
  • Select leaf2 and follow its two uplinks and its one client link.

Run it

You need a Linux host with room for five SR Linux nodes and three Linux containers; check the SR Linux requirements. Download the file, deploy it, and open the CLI on a leaf with Shell.

There is no routing and no client addressing yet. That is the exercise. For something that pings right away, start with the Linux playground.