KittUnderlay MPLS and VRF Architecture (WIP Draft)
Introduction
While simpler approaches like VRF-Lite or Policy-Based Routing (PBR) could isolate traffic using a single routing table per session, they fall short when scaling with Route Reflectors. With RRs distributing routes to multiple clients, VRF-Lite/PBR lacks the label-based forwarding needed to maintain proper isolation across the fabric. MPLS provides the necessary separation—each VRF route carries its own label, ensuring traffic reaches the correct routing instance even when passing through intermediate RRs.
KittUnderlay selectively uses MPLS for VRF route distribution, enabling proper network segmentation and traffic isolation. This approach reserves MPLS specifically for VRF-associated routes, where label-based forwarding provides clear benefits.
MPLS in KittUnderlay
MPLS is reserved specifically for VRF-associated routes, where label-based forwarding provides clear benefits in segmentation and traffic isolation. Unlike traditional MPLS deployments that might label all routes, KittUnderlay applies MPLS only where it adds value.
Key Goals for MPLS/VRF
- Apply MPLS only where it adds value (VRF segmentation)
- Maintain clear separation of global and VRF routing planes
- Enable proper isolation and label-based forwarding between different routing instances
VRF Routing with MPLS
MPLS is used exclusively for VRF routes, enabling proper isolation and label-based forwarding between different routing instances.
BGP Template Configuration
The BGP template enables MPLS label distribution for VRF routes while maintaining separation from the global routing table:
| |
VRF-Specific BGP Sessions
Each VRF instance establishes BGP sessions with MPLS label distribution:
| |
MPLS Label Handling
The label policy aggregate in the BGP template ensures efficient MPLS label allocation for VRF routes. This approach:
- Reduces label consumption by aggregating when possible
- Maintains proper forwarding state for VRF instances
- Enables seamless traffic isolation between routing tables
Features
- ✅ Clear separation of global and VRF routing planes
- ✅ MPLS integration for VRF-specific traffic only
- ✅ NixOS friendly configurations
Getting Started
Planned documentation will include:
- Enabling VRFs with MPLS-based forwarding
- Understanding MPLS label distribution for VRF routes
- Configuring VRF instances and route distinguishers
- Verifying VRF isolation and forwarding behavior
MPLS in KittUnderlay is about applying the right level of complexity—using label-based forwarding only where it provides clear benefits for traffic segmentation.