<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr" -->

---
title: netlab: Building Leaf-and-Spine Fabrics with the Fabric...
description: netlab release 1.7.0 introduced the fabric plugin, which dramatically simplifies building leaf-and-spine lab topologies. With just a few lines of YAML —...
canonical: https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: netlab: Building Leaf-and-Spine Fabrics with the Fabric Plugin « ipSpace.net blog | daily.dev
og:description: netlab release 1.7.0 introduced the fabric plugin, which dramatically simplifies building leaf-and-spine lab topologies. With just a few lines of YAML —...
og:url: https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr
og:image: https://api.daily.dev/og/posts/YbKDnvpCr.png
og:image:alt: netlab: Building Leaf-and-Spine Fabrics with the Fabric Plugin « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# netlab: Building Leaf-and-Spine Fabrics with the Fabric Plugin « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 3 min read · 0 upvotes · 0 comments

## Summary

netlab release 1.7.0 introduced the fabric plugin, which dramatically simplifies building leaf-and-spine lab topologies. With just a few lines of YAML — specifying device type, enabling the plugin, and setting spine/leaf counts — netlab auto-generates all nodes, groups, and inter-node links. The post walks through customizing node names, adding routing protocols (OSPF and IBGP for an EVPN fabric), and attaching Linux hosts to the fabric. A ready-to-run example using Arista cEOS containers via containerlab is provided.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2024/03/netlab-fabric-plugin>

## Questions this post answers

### How do I quickly build a leaf-and-spine fabric topology in netlab?

Enable the fabric plugin in your netlab topology file, set `fabric.spines` and `fabric.leafs` to the desired counts, and specify a default device type. netlab 1.7.0 automatically creates all leaf and spine nodes, assigns them to `leafs` and `spines` groups, and wires up all inter-node links. Node names default to L{count} and S{count} but can be overridden with `fabric.leaf.name` and `fabric.spine.name`.

_Network engineers building lab topologies track netlab releases and plugin updates on daily.dev._

### How do I run IBGP only on leaf nodes in a netlab leaf-and-spine fabric?

Use the auto-generated `leafs` and `spines` groups in your topology's `groups` section. Assign `module: [ospf, bgp]` and a BGP AS to the `leafs` group, and only `module: [ospf]` to the `spines` group. This results in a full-mesh IBGP session between leaf nodes while spine nodes run only OSPF, suitable for an EVPN fabric design.

_Engineers designing EVPN fabrics in lab environments find relevant netlab patterns on daily.dev._

---

Tags: [#networking](https://daily.dev/tags/networking), [#bgp](https://daily.dev/tags/bgp)

[View this post on daily.dev](https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"netlab: Building Leaf-and-Spine Fabrics with the Fabric Plugin « ipSpace.net blog","url":"https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr"},"datePublished":"2026-08-11T08:55:21.979Z","dateModified":"2026-08-11T09:31:15.351Z","description":"netlab release 1.7.0 introduced the fabric plugin, which dramatically simplifies building leaf-and-spine lab topologies. With just a few lines of YAML —...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5f4e1bb32d72e94535d860e408819f10?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5f4e1bb32d72e94535d860e408819f10?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"networking,bgp","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"netlab: Building Leaf-and-Spine Fabrics with the Fabric Plugin « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/netlab-building-leaf-and-spine-fabrics-with-the-fabric-plugin-ipspace-net-blog-ybkdnvpcr#faq","mainEntity":[{"@type":"Question","name":"How do I quickly build a leaf-and-spine fabric topology in netlab?","acceptedAnswer":{"@type":"Answer","text":"Enable the fabric plugin in your netlab topology file, set `fabric.spines` and `fabric.leafs` to the desired counts, and specify a default device type. netlab 1.7.0 automatically creates all leaf and spine nodes, assigns them to `leafs` and `spines` groups, and wires up all inter-node links. Node names default to L{count} and S{count} but can be overridden with `fabric.leaf.name` and `fabric.spine.name`. Network engineers building lab topologies track netlab releases and plugin updates on daily.dev."}},{"@type":"Question","name":"How do I run IBGP only on leaf nodes in a netlab leaf-and-spine fabric?","acceptedAnswer":{"@type":"Answer","text":"Use the auto-generated `leafs` and `spines` groups in your topology's `groups` section. Assign `module: [ospf, bgp]` and a BGP AS to the `leafs` group, and only `module: [ospf]` to the `spines` group. This results in a full-mesh IBGP session between leaf nodes while spine nodes run only OSPF, suitable for an EVPN fabric design. Engineers designing EVPN fabrics in lab environments find relevant netlab patterns on daily.dev."}}]}
```

