MPLS, LDP, and RSVP
MPLS provides labelled forwarding for provider-style labs and VPNv4 scenarios. The engine covers label push, swap, pop, LDP-distributed labels, and BGP/MPLS VPN route projection.
Support level
Section titled “Support level”| Area | Level | Notes |
|---|---|---|
| MPLS dataplane | Supported | Label stack handling with push, swap, pop, and penultimate-hop popping. |
| LDP | Supported | Neighbour state and label mappings for IGP reachability. |
| LDP discovery | Supported | Link multicast Hello to 224.0.0.2 with TTL 1 plus active/passive session role. |
| VPN labels | Supported | VPNv4 routes carry label/RD/RT metadata. |
| LDP graceful restart | Supported | Stale binding mark/clear/purge behaviour during forwarding-holding window. |
| LDP TCP-MD5 password | Behaviour model | Symmetric password forms a session; asymmetric or mismatched password drops the session. |
| RSVP | Behaviour model | Handler surface exists; full RSVP-TE is not a support claim. |
| Provider cloud | Behaviour model | Black-box MPLS cloud can connect customer/provider-edge scenarios. |
Standards coverage
Section titled “Standards coverage”| Standard | Coverage | Notes |
|---|---|---|
| RFC 3031 | Behaviour model | MPLS label stack forwarding. |
| RFC 3032 section 2.1.1 | Supported | IPv4 explicit-null label 0 and implicit-null label 3 behaviour. |
| RFC 5036 | Behaviour model | LDP neighbour and label mapping concepts. |
| RFC 3478 | Behaviour model | LDP graceful restart stale-binding handling. |
| RFC 2385 | Behaviour model | TCP-MD5-style LDP password match; no real TCP segment MAC. |
| RFC 4364 | Behaviour model | BGP/MPLS IP VPN route separation. |
| RFC 3209 | Minimal | RSVP-TE is not deeply implemented today. |
Feature matrix
Section titled “Feature matrix”| Feature | Status | Notes |
|---|---|---|
| MPLS interface enable | Supported | Marks interfaces for labelled forwarding. |
| Label push/swap/pop | Supported | Dataplane operations are represented. |
| PHP | Supported | Penultimate-hop pop behaviour. |
| LDP router ID | Supported | Identifies LDP speaker. |
| LDP neighbours | Supported | Discovered from enabled links. |
| Label bindings | Supported | Labels are allocated for routed FECs. |
| Multicast Hello | Supported | Link discovery uses 224.0.0.2 with TTL 1; MPLS-disabled interfaces drop it. |
| Active/passive TCP role | Supported | Passive LSR waits for Init; active LSR initiates. |
| Implicit null | Supported | Egress prefixes advertise label 3 by default. |
| Explicit null | Supported | Egress prefixes can advertise label 0 when configured. |
| LDP graceful restart | Supported | Peer bindings can be marked stale, cleared after recovery, or purged. |
| LDP neighbour password | Behaviour model | Passwords must match on both sides. |
| LDP notification | Behaviour model | Fatal notifications tear down the peer; non-fatal notifications are logged. |
| VPNv4 import/export | Supported | Driven by BGP route targets. |
| RSVP-TE tunnels | Not modelled | RSVP handler is not a full TE control plane. |
Vendor command matrix
Section titled “Vendor command matrix”| Command | IOS-style | Junos-style | VyOS-style | Notes |
|---|---|---|---|---|
mpls ip | Supported | Partial | Partial | Interface MPLS enable. |
mpls ldp router-id Loopback0 force | Supported | Partial | Partial | LDP identity. |
mpls ldp explicit-null | Supported | Supported | Partial | Advertises IPv4 explicit-null label 0 for egress prefixes. |
mpls ldp graceful-restart | Supported | Supported | Supported | Cisco, Junos, and VyOS config surfaces round-trip. |
mpls ldp neighbor 2.2.2.2 password SECRET | Supported | Partial | Partial | TCP-MD5-style behaviour model. |
show mpls forwarding-table | Supported | Partial | Partial | Label forwarding table. |
show mpls ldp neighbor | Supported | Partial | Partial | LDP neighbour state. |
show ldp neighbor | n/a | Supported | Partial | Junos operational show. |
show ldp database | n/a | Supported | Partial | Junos operational show. |
show ldp bindings | n/a | Supported | Partial | Junos operational show. |
show bgp vpnv4 unicast all | Supported | Partial | Partial | VPNv4 routes. |
Behaviour notes
Section titled “Behaviour notes”MPLS forwarding is packet-oriented enough to test labelled reachability, while LDP remains a deterministic control-plane model. VPNv4 uses route distinguishers to keep overlapping customer prefixes separate and route targets to decide which VRFs import them.
LDP explicit-null is modelled at the label-binding boundary. Without
explicit-null, an egress prefix advertises implicit-null label 3; with
explicit-null, the same egress prefix advertises IPv4 explicit-null label 0.
LDP passwords model TCP-MD5 reachability semantics. If one side has a password and the other does not, or the values differ, the session does not form and the drop is observable in debug/syslog state.
Examples
Section titled “Examples”Canonical example
configure terminalinterface GigabitEthernet0/0 mpls ipmpls ldp router-id Loopback0 forceendshow mpls ldp neighborshow mpls forwarding-tableVendor styles
IOS-style
mpls ipmpls ldp router-id Loopback0 forcempls ldp graceful-restartmpls ldp explicit-nullinterface GigabitEthernet0/0 mpls ipJunos-style
set protocols mpls interface ge-0/0/0.0set protocols ldp interface ge-0/0/0.0set protocols ldp transport-address 1.1.1.1set protocols ldp graceful-restartset protocols ldp explicit-nullVyOS-style
set protocols mpls interface eth0set protocols ldp interface eth0set protocols ldp discovery transport-ipv4-address 1.1.1.1set protocols mpls ldp parameters graceful-restartKnown limits
Section titled “Known limits”RSVP-TE signalling, FRR bypass tunnels, real TCP-MD5 packet authentication, LDP ordered-vs-independent control nuance, and vendor-specific label allocation quirks are not fully modelled.