<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz" -->

---
title: netlab: Global and Node VRFs « ipSpace.net blog | daily.dev
description: A walkthrough of how netlab handles global versus node VRFs in lab topology configurations. Global VRFs defined in the top-level vrfs dictionary share the same...
canonical: https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: netlab: Global and Node VRFs « ipSpace.net blog | daily.dev
og:description: A walkthrough of how netlab handles global versus node VRFs in lab topology configurations. Global VRFs defined in the top-level vrfs dictionary share the same...
og:url: https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz
og:image: https://api.daily.dev/og/posts/EVc0TNLTz.png
og:image:alt: netlab: Global and Node VRFs « 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: Global and Node VRFs « ipSpace.net blog

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

## Summary

A walkthrough of how netlab handles global versus node VRFs in lab topology configurations. Global VRFs defined in the top-level vrfs dictionary share the same route distinguisher (RD) and route targets (RT) across all nodes that use them. Node VRFs defined per-node are treated as independent objects, meaning the same VRF name on two different nodes will get different RD/RT values. This distinction is critical for MPLS/VPN and EVPN environments where matching route targets are required for proper routing. The recommendation is to use node VRFs only when there is a specific reason to do so.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2024/04/netlab-global-node-vrf>

## Questions this post answers

### What happens if I define the same VRF name on multiple nodes in netlab without a global VRF?

Each node VRF that does not match a global VRF is treated as an independent object, so netlab assigns different ID, route distinguisher, and route target values to each instance. Two nodes with a node-level 'red' VRF will get different RD/RT values (e.g., 65000:1 vs 65000:2), which breaks MPLS/VPN and EVPN environments where matching route targets are required.

_Network engineers building MPLS/VPN or EVPN labs track netlab VRF behavior on daily.dev._

### How does netlab assign route distinguishers and route targets to global VRFs shared across multiple nodes?

When a VRF is defined in the top-level vrfs dictionary, netlab assigns a single ID, route distinguisher, and import/export route targets to it, then copies those values into each node's vrfs dictionary. All nodes using the same global VRF end up with identical RD and RT values, which is required for correct MPLS/VPN and EVPN operation.

_Engineers validating netlab topology designs for multi-node VRF scenarios find relevant updates on daily.dev._

## Similar posts on daily.dev

- [MPLS/VPN with SR-MPLS Core « ipSpace.net blog](https://daily.dev/posts/mpls-vpn-with-sr-mpls-core-ipspace-net-blog-nw3uwiphe) · ipSpace.net Blog · 0 upvotes · 0 comments
- [Multivendor SR-MPLS « ipSpace.net blog](https://daily.dev/posts/multivendor-sr-mpls-ipspace-net-blog-qekokwduk) · ipSpace.net Blog · 0 upvotes · 0 comments

---

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

[View this post on daily.dev](https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz)

```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: Global and Node VRFs « ipSpace.net blog","url":"https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz"},"datePublished":"2026-08-11T08:55:27.778Z","dateModified":"2026-08-11T09:22:18.787Z","description":"A walkthrough of how netlab handles global versus node VRFs in lab topology configurations. Global VRFs defined in the top-level vrfs dictionary share the same...","image":"https://media.daily.dev/image/upload/s--foaA6JGU--/f_auto/v1722860399/public/Placeholder%2004","thumbnailUrl":"https://media.daily.dev/image/upload/s--foaA6JGU--/f_auto/v1722860399/public/Placeholder%2004","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-global-and-node-vrfs-ipspace-net-blog-evc0tnltz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"networking","timeRequired":"PT4M"}
{"@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: Global and Node VRFs « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/netlab-global-and-node-vrfs-ipspace-net-blog-evc0tnltz#faq","mainEntity":[{"@type":"Question","name":"What happens if I define the same VRF name on multiple nodes in netlab without a global VRF?","acceptedAnswer":{"@type":"Answer","text":"Each node VRF that does not match a global VRF is treated as an independent object, so netlab assigns different ID, route distinguisher, and route target values to each instance. Two nodes with a node-level 'red' VRF will get different RD/RT values (e.g., 65000:1 vs 65000:2), which breaks MPLS/VPN and EVPN environments where matching route targets are required. Network engineers building MPLS/VPN or EVPN labs track netlab VRF behavior on daily.dev."}},{"@type":"Question","name":"How does netlab assign route distinguishers and route targets to global VRFs shared across multiple nodes?","acceptedAnswer":{"@type":"Answer","text":"When a VRF is defined in the top-level vrfs dictionary, netlab assigns a single ID, route distinguisher, and import/export route targets to it, then copies those values into each node's vrfs dictionary. All nodes using the same global VRF end up with identical RD and RT values, which is required for correct MPLS/VPN and EVPN operation. Engineers validating netlab topology designs for multi-node VRF scenarios find relevant updates on daily.dev."}}]}
```

