The scenario
Host-A (10.0.1.10) is behind PE1, Host-B (10.0.3.10) behind PE2, and P sits between them. P has only label table entries and no route to either host network; no router runs OSPF. PE1 has an LSP to-PE2 that pushes label 16001 for 10.0.3.0/24, and P and PE2 are ready for it. But PE1's only route toward the core is a default route, 0.0.0.0/0 via 10.0.10.2. Traffic for Host-B follows that default route, which has no LSP bound to it, so PE1 sends it to P without a label. P cannot switch a packet with no label and has no IP route to fall back on, so it drops it. Adding a route for exactly 10.0.3.0/24 lets PE1 match the LSP and push the label.
What you will work out
Understand why a label-only core drops plain IP packets, and why an ingress PE pushes a label only for traffic that matches the exact prefix the label is bound to.
Why this matters
Traffic that enters an MPLS core without a label is one of the classic black holes: the edge router happily forwards, the core silently drops, and every device looks healthy. Recognising 'the packet left the PE without a label' in a trace, and checking which route the PE actually used, points straight at the cause.
Running it
MPLS: What Happens Without Labels opens on a canvas, already wired and addressed. Trace a packet through it hop by hop, or run the same topology live on real Linux network namespaces. How the two modes differ.
Open MPLS: What Happens Without Labels
Runs in your browser. No install, no signup, and the simulation starts instantly.
Open the lab →